我有一个编译好并且很受欢迎的项目,但我需要将它与64位库链接,我尝试将项目类型更改为64,现在项目没有正确链接。
我得到的错误是:
Error 1 error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' \createDLL.obj
检查输出,我可以看到以这种方式调用链接器:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"..\Debug\createDLL.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"..\Debug\createDLL.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"..\Debug\createDLL.lib" /MACHINE:X64 /SAFESEH Debug\createDLL.obj
显然链接器正在寻找一个为64编译的obj,但它无法找到它
如何设置编译器为x64编译?
我正在使用VS 2012
答案 0 :(得分:0)
1)尽可能尝试获取32位版本的库。
2)检查项目 - >属性 - >配置属性 - >链接器中的选项。检查常规,输入和&中的设置高级页面主要在其中。应该解决您的问题