CMakeLists.txt 添加已有的动态库
时间: 2024-09-07 07:01:50 浏览: 41
android studio cmake android ndk-jni动态库开发
在CMake中添加已有的动态库(也称为共享库)通常涉及几个步骤,包括配置CMakeLists.txt文件以找到库文件、添加库的路径以及链接库到目标项目。以下是一个基本的步骤说明和示例:
1. 使用`find_package()`命令寻找需要的动态库。这个命令会查找系统中是否安装了指定的库,并定义一些变量供后续使用。如果库已经安装,并且有相应的CMake配置文件(如`Config.cmake`或`Use<PackageName>.cmake`),那么这一步通常很容易完成。
2. 如果`find_package()`无法找到库或者你希望手动指定库的位置,可以使用`set()`命令手动设置库的路径。
3. 使用`target_link_libraries()`命令将动态库链接到你的目标(比如可执行文件或者库)。
下面是一个简单的CMakeLists.txt配置示例,用于添加一个已有的动态库:
```cmake
cmake_minimum_required(VERSION 3.0)
# 设置项目名称和版本
project(MyProject VERSION 1.0)
# 找到已有的动态库,这里以OpenCV为例,假设它已经安装在系统中
find_package(OpenCV REQUIRED)
# 检查是否成功找到OpenCV,如果找到则定义变量OPENCV_FOUND为true
if(OPENCV_FOUND)
# 打印OpenCV版本信息
message("OpenCV version: ${OpenCV_VERSION}")
else()
# 如果没有找到OpenCV,终止配置过程
message(FATAL_ERROR "OpenCV not found!")
endif()
# 添加可执行文件目标
add_executable(my_executable main.cpp)
# 将OpenCV库链接到你的可执行文件
target_link_libraries(my_executable ${OpenCV_LIBS})
```
在这个例子中,我们首先设置了项目名称和版本,然后使用`find_package()`来查找OpenCV库。如果找到了OpenCV,我们就在`add_executable()`中创建一个可执行文件,并使用`target_link_libraries()`将其与OpenCV库链接起来。
阅读全文