[英]linker error after changed the type of c++ project from x86 to x64
我有一個經過編譯且非常喜歡的項目,但是我需要將其與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)如果可能,嘗試獲取32位版本的庫。
2)檢查項目->屬性->配置屬性->鏈接器中的選項 。 主要在其中檢查常規 , 輸入和高級頁面中的設置。應解決您的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.