您可以使用 #pragma comment(lib...) Microsoft c + + 中指定連結器選項

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:153901
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
註解 pragma 可讓使用者插入在物件的檔案或可執行檔的註解。Lib 規範可以讓使用者將這個註解傳遞給連結器指定額外的程式庫時使用此物件模組連結。有些使用者會使用 lib 註解 pragma,若要新增連結器選項,以及程式庫名稱,例如:
   #pragma comment(lib, "MSVCRT -VERBOSE")				
這一行,Visual C++ 下 2.x,會傳遞字串給連結器一樣,導致加入的 /VERBOSE 的連結器選項,以及 MSVCRT。LIB 程式庫。這個行為未指定要使用這種方式。編譯器不會放入引號註解字串,所以空格會分隔文字。

在 Visual C++ 4。x ,並將更新版本中,編譯器正確放引號註解字串,因而造成上述的程式碼,以產生下列錯誤:
連結: 嚴重錯誤 LNK1104: 無法開啟檔案"MSVCRT-VERBOSE.lib"
解決方案
使用下列的新 pragma 來指定連結器選項:
#pragma comment(linker, "<linker options>")				
狀況說明
這種行為是經過設計規劃。
其他相關資訊

若要重現這個問題的範例程式碼:

// Compile options needed: none// Compile the code in Visual C++ 4.x or later// test.c#pragma comment(lib,"MYLIBRARY -VERBOSE")void main(void){}				
您會收到下列錯誤訊息:
連結: 嚴重錯誤 LNK1104: 無法開啟檔案"MYLIBRARY-VERBOSE.lib"
参考
如需有關 #pragma 指示詞的詳細資訊,請參閱下列 MSDN 網站:
10.00 10.10 10.20

警告:本文為自動翻譯

內容

文章識別碼:153901 - 最後檢閱時間:12/04/2015 15:05:48 - 修訂: 5.0

Microsoft Visual C++ 4.0 Standard Edition

  • kbnosurvey kbarchive kbcompiler kbprb kbusage kbmt KB153901 KbMtzh
意見反應