我最近在新计算机上安装了Visual Studio,并在其上设置了DirectX,我转到了工具>选项>项目和解决方案> VC ++目录和库文件下创建了一个新条目C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86
现在运行了一个测试程序(基本上只是初始化了DirectX)并且运行正常。但是,如果我将...\Lib\x86
更改为...\Lib\x64
,则会收到Direct3DCreate9
未定义的链接器错误:
1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
答案 0 :(得分:7)
x86库适用于32位应用程序,x64库适用于64位应用程序。
您可以在Visual Studio的Configuration Manager中查看要定位的平台。除非你有充分的理由,否则你应该编写32位应用程序,因为64位应用程序需要运行64位版本的Windows。
答案 1 :(得分:0)
简单的答案是,x86库适用于32位操作系统,x64库适用于64位操作系统。
只需更改链接到的DirectX库就会产生错误(很可能)尝试将32位代码链接到64位库。您需要编译代码以定位64位操作系统,以使其成功链接。
答案 2 :(得分:0)
x64
文件夹包含AMD64平台的库文件(Windows 64位)。您还需要编译64位应用程序。此外,您需要64位版本的Windows来运行生成的可执行文件。