2017-05-11 5 views
0

Apache Ignite 2.0 C++をコンパイルしようとしました。私はディレクトリ/opt/apache-ignite-2.0.0-src/modules/platforms/cppからmakeを実行しています。私はすでにすべてのJavaコードをコンパイルしており、Apache Igniteをうまく起動できます。しかし、C++はコンパイルされません。問題を解決するためにC++コードを調べなければならないようです。apache ignite 2.0 osxのC++がコンパイルされない

メイクを実行しているときに私が得るエラーは次のとおりです。

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive 
Making all in common 
Making all in include 
make[3]: Nothing to be done for `all'. 
Making all in os/linux/include 
make[3]: Nothing to be done for `all'. 
make[3]: Nothing to be done for `all-am'. 
Making all in binary 
Making all in include 
make[3]: Nothing to be done for `all'. 
    CXX  src/binary/binary_containers.lo 
In file included from src/binary/binary_containers.cpp:18: 
In file included from ./include/ignite/binary/binary_containers.h:30: 
In file included from ./include/ignite/impl/binary/binary_writer_impl.h:35: 
In file included from ./include/ignite/impl/binary/binary_object_impl.h:31: 

./include/ignite/impl/binary/binary_reader_impl.h:986:58: error: variable has incomplete type 'ignite::binary::BinaryReader' 
          ignite::binary::BinaryReader reader(&readerImpl); 
                 ^
./include/ignite/binary/binary_type.h:135:15: note: forward declaration of 'ignite::binary::BinaryReader' 
     class BinaryReader; 
     ^
In file included from src/binary/binary_containers.cpp:18: 
In file included from ./include/ignite/binary/binary_containers.h:30: 
./include/ignite/impl/binary/binary_writer_impl.h:702:54: error: variable has incomplete type 'ignite::binary::BinaryWriter' 
         ignite::binary::BinaryWriter writer(&writerImpl); 
                ^
./include/ignite/binary/binary_type.h:134:15: note: forward declaration of 'ignite::binary::BinaryWriter' 
     class BinaryWriter; 
     ^
2 errors generated. 
make[3]: *** [src/binary/binary_containers.lo] Error 1 
make[2]: *** [all-recursive] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 

答えて

2

まあ、OS Xが正式にnot supportedです。あなたに助けを依頼するためにApache Ignite user mailing listに連絡してください。あなたの質問を送信する前に購読していることを確認してください。誰もあなたのメールを見るでしょう。

1

これは、igniteをコンパイルするためにclang ++を使用している可能性が高いためです。

その理由は説明されています in a different SO question:Apache Ignite C++コードが間違っています(バグがあります)が、一部のコンパイラが問題を検出して報告しないことがあります。

1つの解決策(igniteソースコードを変更すること)は、g ++を使用することです。 OSXの指示はin a different SO questionです。

関連する問題