0

ブーストライブラリを使用して文字列をトークン化しようとしています。ブーストにはSTLではなく強力な文字列操作アルゴリズムがありますが、一度に行をトークン化するだけでよいため、少し遅くなります-それは私のニーズに合っています.

そのため、inc ファイルを追加する#include <boost/algorithm/string.hpp>と、いくつかのエラーが発生します。

エラーE2367(RTTI)を修正する方法??? Emb公式サイトがここhttp://docwiki.embarcadero.com/RADStudio/en/E2366_Can't_inherit_non-RTTI_class_from_RTTI_base_OR_E2367_Can't_inherit_RTTI_class_from_non-RTTI_base_(C%2B%2B) で説明しているように、私には意味がありません!!

助けてください!

4

1 に答える 1

0

[プロジェクト オプション] -> [C++ コンパイラ] -> [C++ コンパイル] セクションで RTTI がオフになっている可能性があります。新しいプロジェクトが作成されたとき、RTTI はデフォルトでオンになっている可能性があります。

詳細については、この Embarcadero QualityCentral チケットを参照してください。エンバカデロ ネバーランドに放り出された場合に備えて、いくつかの抜粋を次に示します。

再現する手順:

bcc32 -c -RT- 238409.cpp

//exp : clean compile 
//res : 
Error E2367 D:\borland\dexter\Include\typeinfo.h 114: Can't inherit RTTI class from non-RTTI base 'exception'
Error E2367 D:\borland\dexter\Include\typeinfo.h 115: Can't inherit RTTI class from non-RTTI base 'exception'
Error E2238 D:\borland\dexter\Include\dinkumware\xlocale 649: Multiple declaration for 'codecvt<wchar_t,char,int>::in(int &,const char *,const char *,const char * &,wchar_t *,wchar_t *,wchar_t * &) const'
Error E2344 D:\borland\dexter\Include\dinkumware\xlocale 538: Earlier declaration of 'codecvt<wchar_t,char,int>::in(int&,const char *,const char *,const char * &,wchar_t *,wchar_t *,wchar_t * &) const'
Error E2238 D:\borland\dexter\Include\dinkumware\xlocale 657: Multiple declaration for 'codecvt<wchar_t,char,int>::out(int &,const wchar_t *,const wchar_t *,const wchar_t * &,char *,char *,char * &) const'

回避策:

enable rtti
于 2016-05-02T15:09:25.057 に答える