# CMake版本信息
cmake_minimum_required(VERSION 3.4.1)
# 支持-std=gnu++11 可以不设置
set(CMAKE_VERBOSE_MAKEFILE on)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
# 配置加载native依赖
include_directories(${CMAKE_SOURCE_DIR}/src/main/cpp/include)
# 添加待编译的文件 这里可以不加${CMAKE_SOURCE_DIR}/
add_library(native-lib SHARED ${CMAKE_SOURCE_DIR}/src/main/cpp/interface.cpp
${CMAKE_SOURCE_DIR}/src/main/cpp/msl.cpp
${CMAKE_SOURCE_DIR}/src/main/cpp/native-lib.cpp)
# 动态方式加载
add_library(lib_one SHARED IMPORTED)
add_library(lib_two SHARED IMPORTED)
# 引入so文件 有些是放在libs目录下,修改路径即可
set_target_properties(lib_one PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libTcpCommunication.so )
set_target_properties(lib_two PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libevent.so)
find_library( # Sets the name of the path variable.
log-lib
log )
#链接库 //找不到情况用这种格式${lib_one}
target_link_libraries( native-lib
lib_one
lib_two
${log-lib})
CMakeLists格式。
CMake配置与库链接实践
最新推荐文章于 2024-08-01 21:59:34 发布
本文介绍如何使用CMake进行项目配置,包括设置最低版本要求、编译选项、包含目录及添加源文件等。同时详细说明了如何通过CMake进行库的链接,包括静态库与动态库的导入及路径设定。
1336

被折叠的 条评论
为什么被折叠?



