新しいバージョンのCBuilder(バージョンXE2)をテストしています。 commnonのほとんどはboostライブラリやdinkumwareライブラリにリダイレクトされます(いくつかのSTL実装?)。C++ Builder:#include <iostream>エラー
#ifndef Error_H
#define Error_H
#include <exception>
#include <iostream> //Error message, see bellow, please
ますが、コンパイルは、以下の(奇妙な)で停止されたメッセージ:面白いが事実である
[BCC32 Error] xlocale(1392): E2451 Undefined symbol 'MB_LEN_MAX'[BCC32 Error] xlocale(1763):
[BCC32 Error] xlocnum(1495): E2451 Undefined symbol 'CHAR_MAX'
Full parser context
xlocnum(1487): decision to instantiate: ostreambuf_iterator<char,char_traits<char> > numput::_Iput(ostreambuf_iterator<char,char_traits<char> >,ios_base &,char,char *,unsigned int) const
--- Resetting parser context for instantiation...
detectproj.cpp(22): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\iostream
iostream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\istream
istream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\ostream
ostream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\ios
ios(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\xlocnum
xlocnum(30): namespace std
xlocnum(1036): class num_put<_Elem,_OutIt>
xlocnum(1487): parsing: ostreambuf_iterator<char,char_traits<char> > numput::_Iput(ostreambuf_iterator<char,char_traits<char> >,ios_base
自分自身のソースコードがコンパイルされる前、つまりコンパイルが...コンパイラを停止していました次の順序で含まれているファイルを閲覧している:
iostream -> istream -> ostream -> ios-> xlocnnum
iostream -> istream -> ostream -> ios-> xlocnnum -> streambuf -> xiosbase ->xlocale
と、次のエラーでxlocnumとxlocaleファイルの処理を中断:
をE2451 Undefined symbol 'CHAR_MAX'
E2451 Undefined symbol 'MB_LEN_MAX'
どこが問題なのですか?私は "インクルードパス"からすべての項目を削除しました。なぜIDEには共通ライブラリの代わりにdinkumwareライブラリが含まれていますか?
セッティング:
Link with dynamic RTL: Off
CodeGuard: On
Directories and Conditionals/All configurations/Include Path: Empty
Directories and Conditionals/All configurations/Library Path: Empty
No pragma hdrstop, #pragma argsused are used in my code.
古いバージョン(C++ Builderの2010)...よくあなたの助けを
おかげで動作します。
すでにこの問題がある、または解決済みですか? – kokbira
最初からすべてを再構築してみましたか?更新後の未定義のシンボルは、おそらくプリコンパイルされたヘッダーまたは再構築されていないバイナリを示す可能性があります。 – bipll