DirectSound示例的配置

简介:       最近开始研究音视频处理,买了本书《VC++音频/视频处理技术及工程实践》,那本书完全是照搬Direct X的帮助文档,而且还抄袭了网友“智慧的鱼“发表的博文《DirectSound开发指南》(名字可能有出入),而且还是东拼西揍,看得人云里雾里,很不爽让我伤透了心!      于是我开始研究Direct X帮助文档,还好英语过得去,都看的懂,上面有很多具有实际参考价值的示例,

      最近开始研究音视频处理,买了本书《VC++音频/视频处理技术及工程实践》,那本书完全是照搬Direct X的帮助文档,而且还抄袭了网友“智慧的鱼“发表的博文《DirectSound开发指南》(名字可能有出入),而且还是东拼西揍,看得人云里雾里,很不爽让我伤透了心!

      于是我开始研究Direct X帮助文档,还好英语过得去,都看的懂,上面有很多具有实际参考价值的示例,于是开始研究。

用VC6.0打开,编译,却怎么都不通过,提示”Cannot open include file: 'dxerr9.h': No such file or directory“

       很明显,没有找到该文件的路径,我搜索了一下,在X:/Program Files/DirectX/Include路径下(X代表Direct X安装盘符),

于是在Tool-->Options-->Directories-->Include files下添加X:/Program Files/DirectX/Include files ,如上图,编译,结果出现如下错误:

 

Compiling...

playsound.cpp

../../common/include/DSUtil.h(50) : error C2146: syntax error : missing ';' before identifier 'm_pDS'

../../common/include/DSUtil.h(50) : error C2501: 'LPDIRECTSOUND8' : missing storage-class or type specifiers

../../common/include/DSUtil.h(50) : error C2501: 'm_pDS' : missing storage-class or type specifiers

../../common/include/DSUtil.h(57) : error C2146: syntax error : missing ';' before identifier 'GetDirectSound'

../../common/include/DSUtil.h(57) : error C2433: 'LPDIRECTSOUND8' : 'inline' not permitted on data declarations

../../common/include/DSUtil.h(57) : error C2501: 'LPDIRECTSOUND8' : missing storage-class or type specifiers

.................................

 

E:/Program Files/DirectX/Samples/C++/common/src/dsutil.cpp(438) : error C2039: 'guid3DAlgorithm' : is not a member of '_DSBUFFERDESC'

        E:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/dsound.h(96) : see declaration of '_DSBUFFERDESC'

E:/Program Files/DirectX/Samples/C++/common/src/dsutil.cpp(441) : error C2227: left of '->CreateSoundBuffer' must point to class/struct/union

Error executing cl.exe.

 

playsound.exe - 32 error(s), 2 warning(s)

继续研究发现有个路径没有包含进去X:/PROGRAM FILES/DIRECTX/SAMPLES/C++/COMMON/INCLUDE,于是继续添加,编译,还是出错:内容同上。

 

 

 

后来在网上查找,发现要将插入的路径条目提到最上面去,提上去后,发现编译通过,OK!

补充:后来发现不需要X:/PROGRAM FILES/DIRECTX/SAMPLES/C++/COMMON/INCLUDE

如图:

但是链接出错,错误如下:

 

Compiling...

playsound.cpp

dsutil.cpp

Linking...

LINK : fatal error LNK1104: cannot open file "dxerr9.lib"

Error executing link.exe.

 

playsound.exe - 1 error(s), 0 warning(s)

 

看来应该是没有包含Lib库的路径,再次研究,发现要添加X:/PROGRAM FILES/DIRECTX/LIB
到Tool-->Options-->Directories-->Include files下添加X:/Program Files/DirectX/Librarys files下,好,添加,结果连接出错:
Compiling resources...
Compiling...
playsound.cpp
dsutil.cpp
dxutil.cpp
Linking...
dsutil.obj : error LNK2001: unresolved external symbol _DirectSoundCreate8@12
Debug/playsound.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
playsound.exe - 2 error(s), 0 warning(s)
记住:此路径也要提到最上面,如下图:
完成以上所有步骤后,编译通过,心情一下就爽了很多!
上编译链接成功后的图:
————2011年1月24日凌晨02:14分

 

相关文章
|
小程序 前端开发 JavaScript
微信小程序(二十一)小程序登录获取openid和unionid
在微信小程序中,因为各种各样的原因我们会需要获取到用户的openid或者unionid下面就简单来讲一下在小程序中如何获取openid和unionid。 步骤一:微信登录获取登录凭证
2797 0
|
11月前
|
Dart 前端开发 IDE
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
本文介绍了如何将现有 Flutter 项目适配鸿蒙系统,详细步骤包括安装 FVM、使用 FVM 安装 Flutter SDK、搭建开发环境、创建项目架构和壳工程等。
1042 5
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
|
弹性计算 Ubuntu 安全
阿里云服务器镜像选择全指南:不同类型的镜像区别及选择参考
阿里云服务器镜像,作为ECS实例的“装机盘”,不仅提供了操作系统,还包含了初始化应用数据和预装软件。选择合适的镜像对于云服务器的性能和稳定性至关重要。本文将详细解析阿里云服务器提供的多种镜像类型,包括公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像,以供参考和选择。
阿里云服务器镜像选择全指南:不同类型的镜像区别及选择参考
|
SQL XML Java
mybatis-plus的配置项都有什么
【6月更文挑战第20天】mybatis-plus的配置项都有什么
443 0
|
Web App开发 SQL 前端开发
Python自动化实战,自动登录并发送微博
Python自动化实战,自动登录并发送微博
541 0
Python自动化实战,自动登录并发送微博
|
计算机视觉
OpenCV(十):图像缩放、翻转、拼接的介绍与使用
OpenCV(十):图像缩放、翻转、拼接的介绍与使用
406 0
|
小程序 前端开发 搜索推荐
微信小程序开发 | 如何在小程序中使用自定义 icon 图标
微信小程序开发 | 如何在小程序中使用自定义 icon 图标
|
SQL 存储 Oracle
ODBC连接数据库详细说明
ODBC连接数据库详细说明
|
设计模式 Java 中间件
设计模式轻松学【十】适配器模式
在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时用适配器模式能很好地解决这些问题。
360 0
设计模式轻松学【十】适配器模式