我在XCode項目中有一些C++源文件(擴展名爲.mm)。 我想只編譯純C++(不使用objc語法或可可運行時使用)並在Android NDK構建(NDK r8d)中編譯它們。 這個問題似乎是G ++甚至不會考慮.mm文件作爲C++和將失敗:NDK:使用.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文件,但開到其他的想法一樣:
- 副本&命名.mm到.CPP爲Android項目 - 我不喜歡這個,因爲它使構建和版本控制複雜化,但它似乎是最基本的工作。
- 建立這個靜態庫(使用xcode) - 我試着去那裏,但我不確定要構建哪個體系結構,或者它是否有意義。
- 其他?
有沒有人有這方面的經驗或想法?謝謝。
溶液(見接受的答案)
LOCAL_CFLAGS + = -x C++
您需要將'.mm'文件更改(端口)爲純C++,並使用文件擴展名'.cpp'或您喜歡的文件擴展名。 – trojanfoe 2013-02-19 10:50:27
ndk不支持.m或.mm擴展名。您可以嘗試使用叮噹由cristax – Blackbelt 2013-02-19 10:50:34
提供的快速評論感謝您。 @trojanfoe:我包括這個你的答案的擴展 - http://stackoverflow.com/questions/5327383/how-can-i-set-an-android-makefile-to-copy-rename-files – snowdragon 2013-02-19 10:55:52