首页 > 技术文章 > 无法打开包括文件:'atlrx.h'的解决办法

perfy 2016-03-28 15:34 原文

VS 2008中由于将ALT项目的部分代码剥离出去成为了独立的开源项目,需要用到ALT中正则表达式等功能就需要手动下载。 
我不是第一个遇到这个问题的,所以已经有前人给出了解决方案。

可到http://atlserver.codeplex.com/该网下载所需要的包,将下载到的文件解压到工作目录 

 

第一种解决方案:

vs2008 ->【工具】->【选项】; 
右边列表选择【项目和解决方案】->【VC++目录】; 
坐上角选择【包含文件】; 
新加入一行,文件路径就是解压文件的路径,如下 

这样就ok了,可以使用正则的强大功能了,比自己一个字符一个字符处理强悍n多。

 

第二种解决方案:

将解压出来的include目录拷贝并覆盖到VS的安装目录下的\VC\atlmfc\include,例如若是VS2008,则位置为:\Microsoft Visual Studio 9.0\VC\atlmfc\includ

 

使用ATL是出现的常见错误

atlrx.h(705) : error C2226: 语法错误 : 意外的“ADODB::Error”类型

原因:跳转标签Error与工程中其它使用的冲突,如果使用了ADO,可在ADO连接使用代码中加上

#import "****\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF") ,rename ("Error", "adoErr") 

 

但最好的办法还是直接把atlrx.h中对应的跳转标签直接修改了,只有三处:

 

……

Error:
  pContext->m_Match.szEnd = sz;

……
    if (*sz == '\0')
     goto Error;

……

   case RE_FAIL:
    goto Error;

……

 

把这三个随便改个名就行了。

推荐阅读