LINK : fatal error LNK1104: 無法打開文件“LIBCD.lib”

出現這類問題一般是由於所運行的項目是VC6(或者vs2003)創建的,而後又用VS2005或者更高版本工具打開項目導致的,原因都是因爲LIBCD.lib文件被更改了.要解決問題的話,只要在鏈接設置那裏忽略它就沒問題了。

解決辦法是:

第一種方案:在項目-屬性-鏈接器- 命令行 加 /nodefaultlib:libcd

第二種方案:在項目-屬性-鏈接器- 輸入-忽略特定庫加:LIBCD.lib

兩種方法都可以。

再轉載一些別人相關的資料

•Run-Time Library是編譯器提供的標準庫,提供一些基本的庫函數和系統調用。
我們一般使用的Run-Time Library是C Run-Time Libraries。當然也有Standard C++ libraries。 
C Run-Time Libraries實現ANSI C的標準庫。VC安裝目錄的CRT目錄有C Run-Time庫的大部分源代碼。 C Run-Time Libraries有靜態庫版本,也有動態鏈接庫版本;有單線程版本,也有多線程版本;還有調試和非調試版本。
•動態鏈接庫版本:
/MD Multithreaded DLL 使用導入庫MSVCRT.LIB
/MDd Debug Multithreaded DLL 使用導入庫MSVCRTD.LIB
•靜態庫版本:
/ML Single-Threaded 使用靜態庫LIBC.LIB
/MLd Debug Single-Threaded 使用靜態庫LIBCD.LIB
/MT Multithreaded 使用靜態庫LIBCMT.LIB
/MTd Debug Multithreaded 使用靜態庫LIBCMTD.LIB
若要使用此運行時庫                                              請忽略這些庫 
單線程 (libc.lib)                                       libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib 
多線程 (libcmt.lib)                                    libc.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib 
使用 DLL 的多線程 (msvcrt.lib) l                ibc.lib、libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib 
調試單線程 (libcd.lib)                               libc.lib、libcmt.lib、msvcrt.lib、libcmtd.lib、msvcrtd.lib 
調試多線程 (libcmtd.lib)                           libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib 
使用 DLL 的調試多線程 (msvcrtd.lib)          libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章