XCodeプロジェクトにいくつかのC++ソースファイル(拡張子は.mm)があります。純粋なC++(objc構文やcocoaランタイムは使用されていません)のものだけをコンパイルし、Android NDKビルド(NDK r8d)でコンパイルしようとしています。問題は、g++が.mmファイルをC++と見なさず、次のように失敗することです。
arm-linux-androideabi-g++: error: Objective-C++ compiler not installed on this system
私は試しました:
1。LOCAL_CPP_EXTENSION:= .mm(Android.mk内)-役に立ちません。
2.カスタムファイル拡張子を受け入れる方法についてg++ドキュメントを検索します-何も見つかりませんでした。
NDK / g ++に.mmファイルを受け入れるように強制する方法を本当に見つけたいのですが、次のような他のアイデアを受け入れることができます。
- Androidプロジェクトの場合は.mmを.cppにコピーして名前を変更します-ビルドとバージョン管理が複雑になるため、これは好きではありませんが、機能する可能性のある最も基本的なもののようです。
- これを静的ライブラリとしてビルドします(xcodeを使用)-そこに行ってみましたが、どのアーキテクチャーをビルドするのか、またはそれが理にかなっているのかさえわかりませんでした。
- その他?
誰かがこれについていくつかの経験やアイデアを持っていますか?ありがとう。
解決策(受け入れられた回答を参照)
LOCAL_CFLAGS + = -x c ++