簡體   English   中英

將c ++項目的類型從x86更改為x64后的鏈接器錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM