1

正規表現にブースト ライブラリを使用しています。boost::regex() 関数を使用して正規表現をコンパイルしました。この関数呼び出しによってスローされた例外をキャッチする必要があります。だから私boost:regex_errorはcatch()で使いました。

ただし、この関数を使用すると、次のエラーが発生します。

undefined symbol: _ZTIN5boost11regex_errorE

上記のエラーの理由は何ですか?

4

2 に答える 2

3

とリンクする必要がありboost_regexます。GCC では、-lboost_regexリンカー呼び出しに追加します。他のコンパイラには同等のオプションがあります。

于 2012-08-16T10:20:33.153 に答える
1
$ c++filt _ZTIN5boost11regex_errorE
typeinfo for boost::regex_error

そのため、typeinfo がありません。RTTI (実行時型情報) を有効にしてプロジェクトをコンパイルする必要があると思います。

また

typeinfo への g++ 未定義参照

于 2012-08-16T10:18:14.000 に答える