2009-04-30 230 views
3

我在Windows平臺上有一個靜態庫(.lib文件),我想在構建lib時知道CRT庫的相關版本。我沒有.lib文件的源代碼,有什麼想法?靜態庫依賴關係

由於事先 喬治

回答

5

靜態庫沒有這些類型的依賴。在構建庫時,它並不以任何方式與運行時鏈接,它所知道的只是實現頭文件中的函數聲明,它們不提供任何版本信息。

但是,假設庫是MS格式的,您應該能夠通過在文本編輯器中打開它(在執行此操作之前進行備份)來查看該庫的內置標記。您正在尋找這樣一行:

cl.exe cmd -nologo -MTd -W3 -Gm -GX -ZI -DWIN32 -D_DEBUG (more stuff) 

的-MTd標誌告訴您該庫是在多線程調試支持編譯。 。

+0

當與foo.lib靜態鏈接時遇到以下錯誤,錯誤消息是 - 警告LNK4098:defaultlib'LIBCMT'與使用其他庫相沖突;使用/ NODEFAULTLIB:庫,有什麼想法是什麼根源? – George2 2009-04-30 10:37:10