【发布时间】:2017-11-12 01:05:39
【问题描述】:
我是 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 中有什么不正确的地方?
【问题讨论】:
-
processor 和 test_utility 不相关,它们只共享 storage.cpp 文件。我想创建一个可执行的 test_utility 和一个共享库 processor.so。我在哪里运行 make test_utility?
标签: android c++ android-studio cmake executable