3
我正在使用VC++ 2005應用程序跟蹤鏈接器錯誤。當我打開詳細的連接器輸出,我注意到一噸以下的消息:VC++鏈接器輸出中的/ DISALLOWLIB消息的含義是什麼?
加工/DISALLOWLIB:nafxcwd.lib
究竟是什麼的/ DISALLOWLIB開關是什麼意思?
我正在使用VC++ 2005應用程序跟蹤鏈接器錯誤。當我打開詳細的連接器輸出,我注意到一噸以下的消息:VC++鏈接器輸出中的/ DISALLOWLIB消息的含義是什麼?
加工/DISALLOWLIB:nafxcwd.lib
究竟是什麼的/ DISALLOWLIB開關是什麼意思?
它阻止某些庫與其他庫一起使用。例如,msvcrtd.lib
庫有一個條目禁止msvcrt.lib
(因爲將該庫的調試版本和發行版本放在同一個可執行文件中會導致各種問題)。
我不確定它實際上是一個鏈接器開關,但我從來沒有嘗試過(它在各種Visual Studio發行版的任何鏈接器版本中都沒有記錄)。這是可以插入:
#pragma comment(linker, "/disallowlib:somelib.lib")
在源文件中
因此它可能鏈接器可以允許它。你在哪裏做發現它在圖書館內。如果你執行:
dumpbin.exe /rawdata msvcrtd.lib
,你會看到類似這樣的:在輸出
/disallowlib:libcmt.lib
/disallowlib:libcmtd.lib
/disallowlib:msvcrt.lib
,意思是「命令」是的庫內容本身的一部分。