gpt4 book ai didi

android - CMake 不使用 add_executable 构建可执行文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:40 26 4
gpt4 key购买 nike

我是 CMake 的新手,我在使用 CMake 创建可执行文件时遇到问题。我正在尝试从单个 CMakeLists.txt 文件构建可执行文件和共享库。我的CMakeLists.txt如下:

cmake_minimum_required(VERSION 3.4.1)
project (TestService)

include_directories(
src/main/cpp/
libs/zlib/include/
)

add_library(libz SHARED IMPORTED)

set_target_properties(libz PROPERTIES IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/libs/zlib/libs/${ANDROID_ABI}/libz.so)

find_library(log-lib log)

add_executable(
test_utility
src/main/cpp/test_utility.cpp
src/main/cpp/storage.cpp
)

target_link_libraries(test_utility ${log-lib} libz)

add_library(
processor
SHARED
src/main/cpp/com_example_testservice.cpp
src/main/cpp/storage.cpp
)

target_link_libraries(processor libz ${log-lib})

但是,当我从命令行使用 android studio/gradlew 构建我的项目时,我只看到创建了 processor.so 库,从未创建 test_utility 可执行文件。我的 CMakeLists.txt 中有什么不正确的地方?

最佳答案

答案是:它构建,只是没有打包到 apk 中,因为只有匹配模式 lib*.so 的文件才会被复制。因此修复很简单:

add_executable(libnativebinaryname.so ...)

关于android - CMake 不使用 add_executable 构建可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44467516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com