2017-06-09 4 views
0

ACE + TAO:6.3.2
OpenDDS:3.11
ホストコンパイラ:私は、Android用OpenDDSをコンパイル十字でGCC 5.4ACE + TAO/OpenDDSは64ビットGCCツールチェーンをサポートしていますか?

、私はACE_wrappers /ビルド/腕/含める/ makeinclude/platform_androidで探していますACEのクロスコンパイルを行うように見える.GNUは、ARM-v7a用にしか作成されていないようです。

私が言うのは、アプリケーションで自動生成されたファイルをコンパイルするときに(opendds_idlを* .idlで使用しています)、「Inファイルは行「から含め、だから私の思考は、多分そこだということです。CPUアーキテクチャのために、いくつかの間違った旗を持っていた私がコンパイルしたコードの前に...私はこのような何かを見てきました

[exec] /home/me/tools/crystax-ndk/sources/cxx-stl/gnu-libstdc++/5/include/limits:1601:7: internal compiler error: Illegal instruction 
[exec]  max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; } 
[exec]  ^

終わります私のアプリで使っているGCCと、ACE + TAO/OpenDDSで使われている設定との互換性のないツールチェインの設定は何ですか?platform_android.GNUのCROSS_COMPILE変数はarm-linux-androideabi-です。私の知る限り、32ビットツールチェーン、つまりarm-v7aと私はv8a rを見ないeferences。私のアプリでは、aarch64-linux-android-5を使っています。これらは互換性がありますか?ツールチェインを変更できますか?

ターゲットアーキテクチャとABIのためにACE + TAO/OpenDDS/my-applicationをビルドするのですが... arm64:arm64-v8aとNDKツールチェーンとターゲットABIを使用する... aarch64-linux -android-5:arm64-v8a。

思考?

答えて

1

これは可能なはずですが、おそらく設定ファイルが古くなっています。まず、最新のACE + TAO 6.3.4にアップデートしてください。次に、ファイルinclude/makeinclude/platform_android.GNUを確認し、ターゲットが存在するかどうかを確認します。小さな更新が必要な場合もあります。必要な変更を加えてhttps://github.com/DOCGroup/ACE_TAOにプルリクエストを開いてください。 arm-v7aを検索し、その場所にarm-v8aの新しいチェックが必要かどうか調べます。

+0

プルリクエストを行い、platform_android.GNUを更新します。 – Ender

+0

作成したリクエスト。 – Ender

+0

プルリクエストをマージし、次のACE/TAOマイクロリリースの一部になります(スケジュールはまだありません) –

関連する問題