ubuntu系统中通过sudo apt-get install libjsoncpp-dev安装了jsoncpp后,如何在cmake项目中将该库include进去
时间: 2024-12-15 15:30:56 浏览: 10
在Ubuntu系统中,如果你已经通过`sudo apt-get install libjsoncpp-dev`成功安装了jsoncpp库及其开发头文件,要在CMake项目中将其包含进来,你需要做以下几个步骤:
1. **添加find_package指令**:
在CMakeLists.txt文件中,首先找到JsonCpp库。你可以使用`find_package`函数来自动查找库的位置。例如:
```cmake
find_package(JsonCpp REQUIRED)
```
2. **指定头文件搜索路径**:
找到库后,你需要告诉CMake在哪里可以找到JsonCpp的头文件。如果`find_package`成功,它会自动生成`JSONCPP_INCLUDE_DIRS`变量,你可以像下面这样添加:
```cmake
include_directories(${JSONCPP_INCLUDE_DIRS})
```
3. **链接库**:
对于静态库,可以在`target_link_libraries`里添加`JsonCpp::JsonCpp`(注意这里的冒号前缀)。对于动态库,通常是不需要特别指定链接的,因为`libjsoncpp.so`(或其他后缀名)通常会被自动发现并链接。
```cmake
target_link_libraries(your_target_name JsonCpp::JsonCpp)
```
4. **生成Makefile**:
确保所有的配置都完成后,运行`cmake`命令生成Makefile或 Ninja等构建文件。
完整的例子:
```cmake
cmake_minimum_required(VERSION 3.5)
project(MyProject)
# Find and include JsonCpp library
find_package(JsonCpp REQUIRED)
include_directories(${JSONCPP_INCLUDE_DIRS})
add_executable(MyApp main.cpp) # 或者替换为你需要编译的源文件
# Link the library to your executable
target_link_libraries(MyApp JsonCpp::JsonCpp)
```
阅读全文