cpp学习Cmake
凝雨文档说明
CMake用法
基础
1 2 3
| cmake_minimum_required(VERSION 3.10)
project(MyProject)
|
1
| add_executable(可执行文件名 main.cpp)
|
1 2
| add_executable(可执行文件名1 my1.cpp) add_executable(可执行文件名2 my2.cpp)
|
生成静态文件
1 2
| set(MUL_SOURCES ./mul/mul.cpp) add_library(mul STATIC ${MUL_SOURCES})
|
1 2 3
| include_directories(./) 1.link_directories(路径) 2.link_libraries(库名)
|
1 2 3
| include_directories(./) 1.target_link_directories(main PUBLIC 路径) 2.target_link_libraries(main 库名)
|
生成动态文件
1 2
| set(MUL_SOURCES ./mul/mul.cpp) add_library(mul SHARED ${MUL_SOURCES})
|
1 2 3
| include_directories(./) 1.link_directories(路径) 2.link_libraries(库名)
|
1 2 3
| include_directories(./) 1.target_link_directories(main PUBLIC 路径) 2.target_link_libraries(main 库名)
|
调用第三方库
1 2 3 4 5 6 7 8 9 10 11 12
| cmake_minimum_required(VERSION 3.10)
project(MyProject)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/tt)
add_executable(my main.cpp)
target_link_libraries(my ${CMAKE_CURRENT_SOURCE_DIR}/tt/gx.lib)
|
源码
构建可执行文件
1 2 3 4 5 6 7 8
|
我的项目 main.cpp CMakeLists.txt test/ test.cpp test.h
|
1 2 3
| cmake_minimum_required(VERSION 3.10) project(MyProject) add_executable(my main.cpp)
|
库管理工具vcpkg
1
| git clone https://github.com/microsoft/vcpkg.git
|
cmd指令
vcpkg(或 vcpkg.exe 在 Windows 上)是 Microsoft 的跨平台 C++ 包管理器。它允许你轻松地从源代码构建、安装和管理 C++ 库和工具。
以下是一些常用的 vcpkg 指令:
- 搜索包:
1
| vcpkg search <package-name>
|
- 安装包:
1
| vcpkg install <package-name>
|
例如,要安装 zlib,你可以运行:
- 更新包:
或者更新特定的包:
1
| vcpkg update <package-name>
|
- 列出已安装的包:
- 删除包:
1
| vcpkg remove <package-name>
|
- 导出包:为指定的包生成 NuGet 包。
1
| vcpkg export <package-name>
|
- 查看包的信息:
1
| vcpkg info <package-name>
|
- 集成到 Visual Studio:
这将自动将 vcpkg 安装的库集成到 Visual Studio 中,以便你可以直接在项目中引用它们。
9. 集成到 CMake:
vcpkg 提供了 CMake 工具链文件,你可以在你的 CMakeLists.txt 文件中包含它们来找到和链接 vcpkg 安装的库。
10. 清理构建缓存:
- 查看帮助:
或针对特定的命令:
查看版本:
请注意,vcpkg 的具体命令和选项可能会随着版本的更新而发生变化。因此,建议经常查看其官方文档或运行 vcpkg help 来获取最新的信息。