1

#include <vector>XE2 でコンパイルされた Mac 用のアプリケーションと同じくらい簡単なことを試した人はいますか?

C++ Builder の XE2 update 1 で何か基本的な問題が発生しているのでしょうか、それとも私のインストールが壊れているのでしょうか?

#include <vector>新しいファイヤー モンキー HD アプリに追加するだけで、ビルド エラーが発生します。

[BCC32 Error] cstdlib(43): E2015 Ambiguity between 'ldiv_t' and 'Posix::Stdlib::ldiv_t'
  Full parser context
    Unit1.cpp(7): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost\tr1\tr1\vector
     vector(16): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/tr1/detail/config_all.hpp
    config_all.hpp(48): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\cstdlib
    cstdlib(32): namespace std

コードから:

//---------------------------------------------------------------------------

#include <fmx.h>
#pragma hdrstop

#include "Unit1.h"
#include <vector>

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.fmx"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
}
//---------------------------------------------------------------------------
4

2 に答える 2

1

Embarcaderoのソリューション(これはアップデート2のみ):

  • [RADStudioXE2] \ include\dinkumwareディレクトリでcstdlibを開きます
  • 49行目:using _CSTD size_t; using _CSTD div_t; using _CSTD ldiv_t;
  • そのすぐ上の「#ifdefined」ブロックの上に移動します(33行目)

STLをFMXC++アプリケーションにコンパイルできるようになりました

于 2011-11-02T22:38:15.717 に答える
0

インクルード パスから $(CG_BOOST_ROOT) を削除してみてください。

于 2011-11-02T01:27:22.903 に答える