是什么x64和x86库文件在DirectX之间的区别?
-
19-09-2019 - |
题
我最近买了一台新计算机上的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)
解决方案
在86库是用于32位应用程序,并且是x64库是64位应用程序。
您可以看到您在Visual Studio的配置管理器被靶向的平台。除非你有一个很好的理由,你应该写的32位应用程序,因为64位的应用程序将需要Windows的64位版本运行。
其他提示
在x64
文件夹包含AMD64平台库文件(Windows 64位)。您需要编译应用程序的64位了。另外,你需要的Windows的64位版本的运行产生的可执行文件。
井的简单的答案是在x86库是为32位操作系统和x64的库是64位操作系统。
只要改变了DirectX库链接,你是(在所有的可能性),以将产生错误尝试将32位代码链接到64位库。您需要编译代码到目标64位操作系统得到这个成功链接。
不隶属于 StackOverflow