vs2012打開vs2010的c#項目遇到的mfcs100u.lib無法打開(V100缺失)的問題

最近公司有個Visual Studio 2010的項目要重新編譯生成下DLL
用2012打開並升級了項目後,編譯時報以下錯誤
這裏寫圖片描述
搜索了一下VS2012的目錄,發現有110沒有100
這裏寫圖片描述
看了下項目屬性常規
這裏寫圖片描述
沒有v100
在網上搜了下,發現相關內容比較少,有個建議弄宏的,看得不是很懂
http://blog.csdn.net/pj_sysu/article/details/44855225
看了下知乎,上面推薦不同項目用不同環境,避免升級帶來的問題
裝了VS2010後問題解決
這裏寫圖片描述

附:MFC的靜態庫.lib、動態庫.dll(包含引入庫.lib)以及Unicode庫示例
http://www.cnblogs.com/qinfengxiaoyue/archive/2013/02/20/2919725.html

一 MFC的靜態庫(.lib)

MFC靜態庫使用下列命名約定:

uAFXcWd.LIB .

庫命名約定的說明符如下:

說明符 值和含義
u (n) ANSI 或 (u)Unicode
c 創建的計劃類型:c=all
d d=debug版本; release版本略去說明符

默認值爲生成用於 Intel 平臺的調試版本 windows ANSI 應用程序的靜態庫:NAFXCWD.Lib.

下表列出的所有庫是在 \ atlmfc \ lib 目錄中包含預生成的靜態庫。

靜態鏈接庫命名約定:

庫 說明
NAFXCW.LIB MFC 靜態鏈接庫,發佈版本
NAFXCWD.LIB MFC 靜態鏈接庫,調試版本
UAFXCW.LIB MFC 具有 Unicode 的靜態鏈接庫支持,發佈版本
UAFXCWD.LIB MFC 具有 Unicode 的靜態鏈接庫支持,調試版本

二 MFC的動態庫(含引入庫.lib)

MFC 中包含的 DLL 和庫遵循結構化命名約定。這使瞭解應爲什麼目的使用哪個 DLL 或庫變得更容易。

生成使用這些 DLL 的應用程序或擴展 DLL 所需的導入庫與 DLL 具有相同的基本名稱,但帶有 .lib 文件擴展名。

共享 DLL 命名約定:

DLL(導入庫.lib) 說明
MFCxx.DLL (MFCxx.lib/MFCSxx.lib) MFC DLL,ANSI 發佈版本
MFCxxU.DLL (MFCxxU.lib/MFCSxxU.lib) MFC DLL,Unicode 發佈版本
MFCxxD.DLL (MFCxxD.lib/MFCSxxD.lib) MFC DLL,ANSI 調試版本
MFCxxUD.DLL (MFCxxUD.lib/MFCSxxUD.lib) MFC DLL,Unicode 調試版本

三 MFC所有Unicode庫示例

MFC 庫的 Unicode 版本如下述:

靜態鏈接庫:

發佈(Release) 調試(Debug) 說明
UAFXCW.lib, .pdb UAFXCWD.lib, .pdb Unicode MFC 靜態鏈接庫

動態鏈接庫:

發佈(Release) 調試(Debug) 說明
MFC100U.lib, .dbg, def, .dll, .map, .pdb, .prf MFC100UD.lib, .def, .dll, .map, .pdb Unicode MFC 包含應用程序或 DLL 必須靜態鏈接的代碼的導入庫
MFCS100U.lib, .pdb MFCS100UD.lib, .pdb Unicode MFC 包含應用程序或 DLL 必須靜態鏈接的代碼的導入庫

文件類型:

•導入庫文件具有擴展名 (.lib)。

•動態鏈接庫文件具有擴展名 (.dll)。

•模塊定義 (.def) 文件是包含定義的 .exe 或 .dll 語句的文本文件。

•映射 (.map) 文件是包含信息鏈接器使用,在鏈接程序中的文本文件。

•導入庫 (.lib) 文件與 MFC 的 DLL 版本一起使用。 這些文件包含應用程序或 DLL 必須靜態鏈接的代碼。

•程序數據庫 (.pdb) 文件中調試和項目狀態信息。

•調試 (.dbg) 文件包含 Visual C++ 調試器使用的信息 (COFF FPO 和 CodeView)。

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