文号
t71873
阅读
7932
回复
5
收藏
1
visual studio安装wtl
2015/05/31
IP:四川
个人建议没有一定的基础不要学习WTL,因为WTL资料少,不受微软支持,没有详细的微软官方文档。相对于学习资料繁多的MFC来说,WTL学习起来比较困难,开发难度大。现在内存已经足够大了,MFC静态编译的300k左右的体积基本可以忽略(如果有多个模块的话也可以动态编译),功能也已经变得十分强大,一般根本没必要舍本逐末,去冒找不到资料的风险用WTL进行日常开发。

其实现在WTL已经出了9.0了,不过更新够慢的。

到 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 下载最新版的WTL

捕获wtl.png

下载以后解压到C:\WTL,然后运行C:\WTL\AppWiz\Setup.js即可安装向导

捕获wtl2.png

然后需要设置包含路径(WTL并不包含二进制LIB库)加入C:\WTL\Include。
方法同Boost,参见此贴:https://www.kechuang.org/t/71867

不过WTL向导仍然只能在VS2005中使用,在VS2010中运行不正常,显示脚本错误。。。
解决方法:打开C:\WTL\AppWiz\Files\HTML\1033里边的三个HTML文件,拉到最下边,把
<script>
var strPath = window.external.FindSymbol("PRODUCT_INSTALLATION_DIR");
strPath += "VCWizards/";
strPath += window.external.GetHostLocale();
var strScriptPath = strPath + "/Script.js";
var strCommonPath = strPath + "/Common.js";
document.scripts("INCLUDE_SCRIPT").src = strScriptPath;
document.scripts("INCLUDE_COMMON").src = strCommonPath;
</script>
改为
<script>
document.scripts("INCLUDE_SCRIPT").src = window.external.FindSymbol("SCRIPT_COMMON_PATH") + "/Script.js";
document.scripts("INCLUDE_COMMON").src = window.external.FindSymbol("SCRIPT_COMMON_PATH") + "/Common.js";
</script>
即可成功解决。
捕获wtl4.png

Visual Studio 2010 中设置全局目录:

捕获wtl5.png

使用:

捕获wtl7.png

捕获wtl8.png

捕获wtl6.png
[ 修改于11年7个月前 - 2015/06/01 07:30:27 ]
acmilan作者
11年7个月前IP:四川
771321
1楼
patch过AppWiz的WTL 9.0
attachment icon WTL9.0-patched.rar 877.88KB RAR 31次下载
引用
评论
acmilan作者
11年7个月前IP:四川
771322
2楼
ATL Server头文件,比较有用的库(VS2005以下自带,VS2008以上需补充),包括正则表达式atlrx.h
此库建议直接解压达到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc 使用。
下载地址:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
这个库现在好像不再更新了,所以如果有可能的话,还是尽量使用Boost库。
attachment icon ATL_Server_Source_and_Headers_9_0_70425_Alpha.zip 567.06KB ZIP 38次下载
引用
评论
acmilan作者
11年7个月前IP:四川
771360
3楼
卸载方法:
1. 转到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcprojects,删除三个WTLAppWiz.*文件和WTL文件夹
2. 进入工具->选项->项目和解决方案->VC++目录(VS2008以前)
或Microsoft.Cpp.Win32.user属性表->VC++目录(VS2010以后),删除C:\WTL\Include这个包含路径
3. 最后删除C:\WTL文件夹
捕获wtl111.png
引用
评论
acmilan作者
11年7个月前IP:四川
771366
4楼
写程序还是用MFC方便。。。
MFC_Legacy_2005.gif
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的