我不断收到以下构建错误:
> Task :app:buildCMakeDebug[arm64-v8a] FAILED
C/C++: ninja: Entering directory `/Users/ME/repos/XXXX/XXXX_JAVA/app/.cxx/Debug/1c626b5a/arm64-v8a'
C/C++: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
> Task :app:buildCMakeDebug[armeabi-v7a] FAILED
C/C++: ninja: Entering directory `/Users/ME/repos/XXXX/XXXX_JAVA/app/.cxx/Debug/1c626b5a/armeabi-v7a'
C/C++: /Users/ME/Library/Android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lrust_ffi
C/C++: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
> Task :app:buildCMakeDebug[x86] FAILED
C/C++: /Users/ME/Library/Android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: error: cannot find -lrust_ffi
> Task :app:buildCMakeDebug[x86_64] FAILED
C/C++: /Users/ME/Library/Android/sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/bin/ld: error: cannot find -lrust_ffi
现在,完全尽管事实上它以某种方式坚持在它们的中间构造具有相对前缀
../../../../
的绝对路径(这肯定没有帮助),但我无法弄清楚是什么告诉 cMake 为 arm64 构建- v8a、armeabi-v7a、x86、x86_64,更不用说它派生这些路径的地方了。字符串“../../../../”字面上没有出现在项目中的任何地方,我的 cMake 文件没有指定任何架构:
cmake_minimum_required(VERSION 3.18.1)
project("XXXXjavaframework")
add_library(
XXXXjavaframework
SHARED
native-lib.cpp)
find_library(
log-lib
log)
target_link_libraries(
XXXXjavaframework
${log-lib})
include_directories(${CMAKE_SOURCE_DIR}/includes)
link_directories(${CMAKE_SOURCE_DIR}/lib)
target_link_libraries(XXXXjavaframework XXXX_ffi)