最近公司有個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)。