运行一个VS 3D游戏程序时发生以下错误,请高手解决问题的高手(erro...

3D游戏编程大师技巧
(书本是VC 6.0和vs2013不同)
1.1.点击右键属性-》配置属性-》C/C++-》附加包含目录:里面添加DirectX SDK的include文件路径:(如:D:\3D游戏编程大师技巧\SDK %28C++%29\Include)
1.2点击右键属性-》链接器-》常规-》附加库目录:里面添加DirectX SDK的lib文件路径:(如:D:\3D游戏编程大师技巧\SDK %28C++%29\Lib)
1.3点击右键属性-》链接器-》输入-》附加依赖项:里面添加所需要的lib名称:ddraw.dsound.dinput.dinput8.winmm.(winmm.lib如我的在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib找到,然后copy到你的lib文件目录下)
如果未添加winmm.lib会在vs 2013 环境下出现以下error:
1&t3dlib3.obj : error LNK2019: 无法解析的外部符号 __imp__mmioAscend@12,该符号在函数 &int __cdecl DSound_Load_W***(char *,int)& (?DSound_Load_W***@@YAHPADH@Z) 中被引用
1&t3dlib3.obj : error LNK2019: 无法解析的外部符号 __imp__mmioRead@12,该符号在函数 &int __cdecl DSound_Load_W***(char *,int)& (?DSound_Load_W***@@YAHPADH@Z) 中被引用
1&t3dlib3.obj : error LNK2019: 无法解析的外部符号 __imp__mmioClose@8,该符号在函数 &int __cdecl DSound_Load_W***(char *,int)& (?DSound_Load_W***@@YAHPADH@Z) 中被引用
1&t3dlib3.obj : error LNK2019: 无法解析的外部符号 __imp__mmioDescend@16,该符号在函数 &int __cdecl DSound_Load_W***(char *,int)& (?DSound_Load_W***@@YAHPADH@Z) 中被引用
1&t3dlib3.obj : error LNK2019: 无法解析的外部符号 __imp__mmioOpenA@12,该符号在函数 &int __cdecl DSound_Load_W***(char *,int)& (?DSound_Load_W***@@YAHPADH@Z) 中被引用
二、无法从“const char [6]”转换为“LPCWSTR” ..问题
点击右键属性-》链接器-》常规-》项目默认值-》字符集:改为使用多字节字符集即可
三、编译typedef void *POINTER_64 PVOID64错误
因为Directx也有basetsd.h,由头文件搜索顺序引起的
typedef void *PVOID;&
typedef void * POINTER_64 PVOID64;&
在它之前加下在:&
#define POINTER_64 __ptr64 即可
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:127次
排名:千里之外玩3D游戏电脑死机重启_百度知道魔域玩不了。一进游戏就跳出dx.error.please。install dx8.la_百度知道100分.Tricks of the Windows Game Programming Gurus的第一个程序的编译问题. 只要解决问题了分不是问题._百度知道

参考资料

 

随机推荐