VCではATLライブラリを使用して正規表現のマッチングを実現しています(ADODB:Err)
2750 ワード
1.プロジェクトの属性にATLが使用されていることを確認します.
VS中のプロジェクトの属性のように、通常のATLは静的にATLにリンクします.
2.使用時に上のファイルを追加する
atlrx.h(705):error C 2226:文法エラー:意外な「ADODB:Error」タイプ
理由:ジャンプラベルErrerとプロジェクトで使用されている他のものとの競合で、ADOを使用すれば、ADO接続使用コードにADO接続が追加されます.
要約:http://blog.163.com/lxz_jlu/blog/static/1296682061479240/
VS中のプロジェクトの属性のように、通常のATLは静的にATLにリンクします.
2.使用時に上のファイルを追加する
#include "atlrx.h"
3.コード例を使用する CAtlRegExp<> reUrl;
REParseError status = reUrl.Parse( );
if (REPARSE_ERROR_OK != status) { //
return ;
}
CAtlREMatchContext<> mcUrl;
if (!reUrl.Match( , &mcUrl)) { //
return;
}
4.ATLを使うとよくあるエラーatlrx.h(705):error C 2226:文法エラー:意外な「ADODB:Error」タイプ
理由:ジャンプラベルErrerとプロジェクトで使用されている他のものとの競合で、ADOを使用すれば、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;
……
この三つを適当に名前に変えたらいいです.要約:http://blog.163.com/lxz_jlu/blog/static/1296682061479240/