簡體   English   中英

針對Windows 64位目標進行編譯,存在靜態.libs問題

[英]Compiling for windows 64bit target, issues with static .libs

我正在Windows 7 64bit上使用MS Visual Studio 2008專業版。 我安裝了64位編譯器以及標准的32位編譯器。

我之前在Windows 32位程序中使用http://argtable.sourceforge.net/

我將我的應用程序(用普通的簡單C89編寫)使用argtable2.lib作為win32目標時沒有問題,盡管當我將“活動解決方案平台”設置為“ x64”時,在運行過程中出現了很多錯誤有關未解決的外部符號的鏈接階段。

錯誤LNK2019:在函數主函數中引用的未解析的外部符號arg_lit0錯誤LNK2019:在函數主函數中引用的未解析的外部符號arg_strn錯誤LNK2019:在函數main中引用的未解析的外部符號arg_end ...

以“致命錯誤LNK1120:9個未解決的外部條件”結尾。

我發現了一些選項,例如鏈接器選項“ / MACHINE:X64”,但是我不知道如何使用它,或者我是否應該觸摸該選項。

認為我需要做一些事情,包括構建支持argtable2.lib的64位版本,但是我不知道該怎么做。 有任何想法嗎?

.lib giles不是不可知的-32位和64位lib文件是分開的。 因此,您需要構建argtable2.lib的64位版本(不支持64位)。

我自己找到了解決方案,如果有人遇到同樣的問題,我將通知其他所有人。 我沒有使用nmake創建靜態庫,而是創建了一個新的vc ++ 2008項目,添加了所有必需的argtable .c和.h,將項目類型設置為Static Lib,然后進行了編譯。 在鏈接器設置為/ MACHINE:X64的情況下,罰款設置為64位。 現在我的應用程序是完全64位的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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