写一个c++ cmake 包含子项目动态库
时间: 2024-04-24 15:24:02 浏览: 139
当你在 CMake 中创建一个包含子项目和动态库的 C++ 项目时,你需要按照以下步骤进行配置。
首先,创建一个主项目的文件夹,并在该文件夹中创建一个 CMakeLists.txt 文件。在 CMakeLists.txt 文件中,添加以下内容:
```cmake
cmake_minimum_required(VERSION 3.12)
project(MainProject)
# 添加子项目
add_subdirectory(subproject)
# 添加可执行文件
add_executable(main main.cpp)
# 链接子项目生成的动态库
target_link_libraries(main PRIVATE subproject)
```
在上面的代码中,`add_subdirectory(subproject)` 命令会将名为 "subproject" 的子项目添加到主项目中。
然后,创建一个子项目的文件夹,并在该文件夹中创建一个 CMakeLists.txt 文件。在子项目的 CMakeLists.txt 文件中,添加以下内容:
```cmake
cmake_minimum_required(VERSION 3.12)
project(SubProject)
# 添加源文件
add_library(subproject SHARED subproject.cpp)
```
在上面的代码中,`add_library(subproject SHARED subproject.cpp)` 命令会将名为 "subproject" 的源文件编译为一个动态库。
最后,在主项目的根目录下创建一个名为 "main.cpp" 的文件,作为主项目的入口点。
这样配置后,你可以使用以下命令来构建和运行项目:
```bash
mkdir build
cd build
cmake ..
make
./main
```
这将会构建主项目和子项目,并将子项目生成的动态库链接到主项目的可执行文件中。你可以根据自己的实际需求在主项目和子项目中添加更多的源文件、库依赖等。
阅读全文