Cmake忍者错误android。尽管文件存在,但“缺少并且没有已知的规则来制作它”

Jad*_*ada 5 android cmake android-ndk ninja android-gradle-plugin

我不断得到一个

忍者:错误:'/root/code/CalcLib/libCalcLibAndroidx86.a',需要'/root/code/compcorpsdk/build/intermediates/cmake/prod/release/obj/x86/libJumboFFT.so',丢失且未知制定规则

虽然我检查了两个目录是否存在正确的文件,但我相信我在 CmakeList.txt 中正确设置了包含目录路径。

CMakeLists.txt

cmake_minimum_required(VERSION 3.4.1)

set(
P1 "/root/code/CalcLib"
CACHE STRING ""
)

message(${ANDROID_ABI})

file(GLOB CPP_FILES "*.cpp")

add_library(
JumboFFT
SHARED
${CPP_FILES}
)

include_directories(src/main/jni)
include_directories(${P1})

target_link_libraries(
JumboFFT
log
android
OpenSLES
${P1}/libCalcLibAndroid${ANDROID_ABI}.a
)
Run Code Online (Sandbox Code Playgroud)

Gradle Assemble 输出 Gradle Asemble 输出文本

aha*_*ini 0

我相信您应该首先使用将其添加为库add_library,set_target_properties然后按如下方式链接它:

...

add_library(libCalcLibAndroid STATIC IMPORTED)
set_target_properties(libCalcLibAndroid PROPERTIES
  IMPORTED_LINK_INTERFACE_LIBRARIES ""
  IMPORTED_LOCATION "${P1}/libCalcLibAndroid${ANDROID_ABI}.a"
)

target_link_libraries(
JumboFFT
log
android
OpenSLES
libCalcLibAndroid
)
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

14973 次

最近记录:

6 年,1 月 前