VS 2008中由于将ALT项目的部分代码剥离出去成为了独立的开源项目,需要用到ALT中正则表达式等功能就需要手动下载。
我不是第一个遇到这个问题的,所以已经有前人给出了解决方案。
可到http://atlserver.codeplex.com/该网下载所需要的包,将下载到的文件解压到工作目录
第一种解决方案:
vs2008 ->【工具】->【选项】;
右边列表选择【项目和解决方案】->【VC++目录】;
坐上角选择【包含文件】;
新加入一行,文件路径就是解压文件的路径,如下
这样就ok了,可以使用正则的强大功能了,比自己一个字符一个字符处理强悍n多。
第二种解决方案:
将解压出来的include目录拷贝并覆盖到VS的安装目录下的VCatlmfcinclude,例如若是VS2008,则位置为:Microsoft Visual Studio 9.0VCatlmfcinclud
使用ATL是出现的常见错误
atlrx.h(705) : error C2226: 语法错误 : 意外的“ADODB::Error”类型
原因:跳转标签Error与工程中其它使用的冲突,如果使用了ADO,可在ADO连接使用代码中加上
#import "****adomsado15.dll" no_namespace rename ("EOF", "adoEOF") ,rename ("Error", "adoErr")
但最好的办法还是直接把atlrx.h中对应的跳转标签直接修改了,只有三处:
……
Error:
pContext->m_Match.szEnd = sz;
……
if (*sz == ' ')
goto Error;
……
case RE_FAIL:
goto Error;
……
把这三个随便改个名就行了。