cmakelists.txt 到处头文件,动态库,静态库生成vs工程
时间: 2024-12-24 13:33:08 浏览: 5
`CMakeLists.txt` 是 CMake 框架中的核心配置文件,它用于描述如何构建一个项目的源代码、依赖项以及生成的目标产物,包括但不限于动态链接库 (DLLs)、静态链接库 (.a 或 .lib) 和 Visual Studio 工程项目。
当你在 `CMakeLists.txt` 中处理头文件 (`.h`) 时,你需要指定它们作为目标的公共部分,通过设置 `PUBLIC` 或 `INTERFACE` 存储区域,以便其他模块可以包含它们而不带来二义性。例如:
```cmake
# 添加头文件目录
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# 将头文件添加到库或 executable
add_library(your_library INTERFACE your_header.h)
```
对于动态库(如 DLL),CMake 使用 `add_library` 函数,并指定 `SHARED` 参数:
```cmake
add_library(your_dynamic_lib SHARED source.cpp header.h)
```
而对于静态库,用 `add_library` 函数,加上 `STATIC` 参数:
```cmake
add_library(your_static_lib STATIC source.cpp header.h)
```
最后,为了创建 Visual Studio 项目,CMake 会生成一个 `Visual Studio Solution` 文件(通常扩展名为 `.sln`),并生成对应的 `.cpp` 文件、项目配置和依赖关系。你可以通过命令行 `cmake -G "Visual Studio <version>" .` 来指定生成的平台版本。
阅读全文