Android利用Cmake搭建JNI

Android利用Cmake手动搭建JNI遇到的错

在已有的项目中添加c/c++遇到的错误:
Build command failed.

Error while executing process E:\sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {-HE:\AndroidProject\Test2 -BE:\AndroidProject\Test2\app.externalNativeBuild\cmake\release\armeabi-v7a -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-16 -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\AndroidProject\Test2\app\build\intermediates\cmake\release\obj\armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DANDROID_NDK=E:\sdk\ndk-bundle -DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions -DCMAKE_TOOLCHAIN_FILE=E:\sdk\ndk-bundle\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=E:\sdk\cmake\3.6.4111459\bin\ninja.exe -GAndroid Gradle - Ninja}

– Configuring done

CMake Error at CMakeLists.txt:13 (add_library):

src/main/cpp/native-lib.cpp

Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp

.hxx .in .txx

CMake Error: CMake can not determine linker language for target: native-lib

– Generating done

– Build files have been written to: E:/AndroidProject/Test2/app/.externalNativeBuild/cmake/release/armeabi-v7a
遇到问题的原因是:在CMakeLists.txt中

add_library( # Sets the name of the library.
             #库名
             native-lib

             # Sets the library as a shared library.
             #动态库
             SHARED

             # Provides a relative path to your source file(s).
             #源文件或头文件的路径
             src/main/cpp/native-lib.cpp )

配置路径时是库(.cpp文件)相对于CMakeList.txt的相对路径,找了好久我的相对路径是

app/src/main/cpp/native-lib.cpp 

终于解决啦,开始入门了,哈哈哈哈!

猜你喜欢

转载自blog.csdn.net/sinat_38892960/article/details/85243813