DirectX中的x64和x86库文件有什么区别?

时间:2010-02-06 23:29:13

标签: directx installation x86-64

我最近在新计算机上安装了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)

3 个答案:

答案 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来运行生成的可执行文件。