关闭

DirectSound示例的配置

标签: fileinclude文档c
3143人阅读 评论(0) 收藏 举报
分类:

      最近开始研究音视频处理,买了本垃圾书《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分

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:309908次
    • 积分:1767
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:19篇
    • 译文:0篇
    • 评论:29条
    最新评论