?
WTL全稱為Window Template Library,一個(gè)構(gòu)架于ATL之上的C++類庫,它包裝了大多數(shù)的窗口控制.從網(wǎng)上看的,也只是個(gè)大概的了解.先安裝了弄個(gè)Hello World試試吧,呵呵
1,安裝
?? 1.1 下個(gè)WTL安裝包,其實(shí)上個(gè)壓縮包.現(xiàn)在最新的是8.0版,默認(rèn)解壓目錄為C:\WTL80,其中80為版本號(hào),如果下的是7.5則為C:\WTL75
?? 1.2 自動(dòng)安裝
?? 在目錄C:\WTL80\AppWiz有四個(gè)JS文件,選擇一個(gè)你機(jī)子上安裝的VC版本,點(diǎn)擊相應(yīng)的JS腳本進(jìn)行安裝即可,如VS2005的VC版本為8.0,則相應(yīng)文件為setup80.js
?? 1.3 手動(dòng)安裝
?? 自動(dòng)安裝有時(shí)安裝不成功,如點(diǎn)擊文件后卻打開了一個(gè)記事本,其實(shí)手動(dòng)安裝也挺不錯(cuò)的.
?? 將C:\WTL80\AppWiz\Files目錄下的三個(gè)WTLAppWiz.*文件考到VC安裝目錄的vcprojects目錄下,如E:\Program Files\Microsoft Visual Studio 8\VC\vcprojects, 打開WTLAppWiz.vsz,原文件為:


?? VSWIZARD 7.0
?? Wizard=VsWizard.VsWizardEngine

?? Param="WIZARD_NAME = WTLAppWiz"
?? Param="WIZARD_VERSION = 7.0"
?? Param="ABSOLUTE_PATH = ."
?? Param="FALLBACK_LCID = 1033"
?? 將其改為
?? VSWIZARD 7.0
?? Wizard=VsWizard.VsWizardEngine.8.0

?? Param="WIZARD_NAME = WTLAppWiz"
?? Param="WIZARD_VERSION = 7.0"
?? Param="ABSOLUTE_PATH = C:\WTL80\AppWiz\Files"
?? Param="FALLBACK_LCID = 1033"

?? 其中Wizard后面需加上WTL的版本號(hào),否則能在VC里看到WTL項(xiàng)目,但其向?qū)o法工作

?? Param ="ABSOLUTE_PATH后加上WTL解壓的路徑

?? 新將項(xiàng)目時(shí)選擇WTL項(xiàng)目,接默認(rèn)選項(xiàng)生成項(xiàng)目,編譯時(shí)會(huì)報(bào)'atlapp.h': No such file or directory錯(cuò)誤。需要加一個(gè)編譯路徑,工具-->選項(xiàng)-->項(xiàng)目和解決方案-->VC目錄,在左邊選擇包含文件,把WTL解壓目錄下的C:\WTL80\include路徑加上

?? 如果編譯時(shí)報(bào)以下兩個(gè)Bug:

?? 錯(cuò)誤 1 fatal error CVT1100: 重復(fù)的資源。type:MANIFEST, name:1, language:0x0409 CVTRES
?? 錯(cuò)誤 2 fatal error LNK1123: 轉(zhuǎn)換到 COFF 期間失敗: 文件無效或損壞 sdf
??? 則說明資源文件有問題,具體的原因未知,從網(wǎng)上找我資料看,有以下四種解決方法:

?? 1,工程屬性->配置屬性-> 清單工具->輸入和輸出->嵌入清單,選擇[否]

??? 2,打開rc文件,找MANIFEST,所屬段或行全去掉

?? 3,打開此項(xiàng)目屬性頁,鏈接器-->嵌入的 IDL-->類型庫資源 ID 設(shè)一個(gè)從1-65535的值

?? 4,項(xiàng)目屬性頁鏈接器-->清單 文件-->生成清單文件 選項(xiàng)設(shè)置為no