将c ++项目的类型从x86更改为x64后出现链接器错误

时间:2013-05-15 15:49:58

标签: c++ visual-studio x86 64-bit

我有一个编译好并且很受欢迎的项目,但我需要将它与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

1 个答案:

答案 0 :(得分:0)

1)尽可能尝试获取32位版本的库。

2)检查项目 - >属性 - >配置属性 - >链接器中的选项。检查常规输入和&中的设置高级页面主要在其中。应该解决您的问题