我是Android NDK的新手,我正试图了解它。到目前为止,我发现NDK / samples文件夹中的每个示例都是用C而不是C ++编写的。当我导入这些项目并对其进行处理时,一切工作正常。但是,当我在Eclipse中创建新项目,然后右键单击该项目-> Android工具->添加本机支持时,它将始终创建libname.cpp文件。自然地,在复制到.cpp文件后,c代码不会编译。
我还尝试在Android.mk文件的以下几行中用nativetest.cpp
替换nativetest.c
LOCAL_MODULE := nativetest
LOCAL_SRC_FILES := nativetest.cpp
但是它产生了这个错误:
No rule to make target `jni/nativetest.c', needed by `obj/local/armeabi/objs/nativetest/nativetest.o'. Stop.
我的问题是:如何添加对.c文件的本机支持?
最佳答案
重新安装ADT eclipse捆绑包并浪费了数小时寻找解决方案后,我通过将新的.c文件复制到项目结构(jni文件夹)并更改了位于Android.mk中的LOCAL_MODULE LOCAL_SRC_FILES
的值来解决了我的问题
不幸的是,这种解决方法仍然留下描述here,here和here的问题