由vc6專案一直到vs2005下的問題

2021-04-18 21:24:56 字數 713 閱讀 9637

在vc6下十分簡單 因為是靜態庫只要簡單的包含標頭檔案 並且在vc++目錄中新增搜尋路徑 即可 (當然要有lib和.h檔案)

但在2005下有問題,因為原來egg庫是vc早期版本生成的庫 在鏈結過程中 由於是控制台程式所以預設是呼叫單執行緒的靜態庫 libcd.lib(debug版本)和libc.lib(release) 故會出現打不開libcd.lib的錯誤 顯示:fatal error lnk1104: 無法開啟檔案「libc.lib」

用原先的方法將vc6的庫函式和標頭檔案覆蓋vs2005後會顯示libcd和現有檔案衝突,未找到外部解析檔案等,可見導入庫行不通.

這時的解決方法很簡單 只要在專案屬性中的鏈結器欄中在忽略特定庫中寫入打不開的檔案的名稱 入本例中的libcd.lib 在完全編譯就好了;

這時我們就要看看  很煩人的所謂的單執行緒靜態庫,多執行緒庫了, 這些庫檔案是微軟的執行時刻庫作用是在生成完obj檔案後鏈結過程中初始化全域性變數,匯入專案入口函式,獲取系統資訊等等,原先的vc'老版本 還有就是多執行緒程式的支援,老版本的win32函式有creatthread,新的使用libcmt.lib的有beginthreat,

這些執行時庫對應有

libcd.lib libc.lib 靜態單執行緒庫(後面加d表示debug版) /ml

libcmt.lib libcmtd.lib 對應的是靜態多執行緒庫/mt

msvcrt.lib 動態鏈結庫  /md

最後乙個是編譯選項;

從VS2008專案轉為VS2005專案

vs2005轉vs2008 用文字編輯器開啟sln檔案 microsoft visual studio solution file format version 10.00 visual studio 2008 將以上內容修改後成為以下內容 microsoft visual studio solut...

vs2005讀寫vs2008專案

首先你要確保你建的專案是.net framework 2.0的,而不是.net framework 3.5。1.用記事本開啟解決方案檔案 解決方案名 sln,然後修改最上面兩行為如下 microsoft visual studio solution file,format version 9.00 ...

vs2005讀寫vs2008專案

首先你要確保你建的專案是.net framework 2.0的,而不是.net framework 3.5。1.用記事本開啟解決方案檔案 解決方案名 sln,然後修改最上面兩行為如下 microsoft visual studio solution file,format version 9.00 ...