0. 前言
- 目标:使用 VS2019 构建 CMake 项目,或导入、开发已有 CMake 项目。
- 为什么要这么做?
- 跨平台:目前的项目需要跨平台开发,主力平台是Linux,Windows主要做适配工作。
- 世界上最好的IDE:2010的时候,我就是用VS开发的,现在也算是重操旧业……
- 本文内容:
- 以 SPDLOG 为例,使用 VS2019 编译已有的 CMake 项目
- 以 SPDLOG 为例,使用 VS2019 创建 CMAKE 项目,引入并使用编译好第三方包
1. 使用 VS2019 编译 SPDLOG
- SPDLOG 是 C++ 中常用的日志工具,也是我本人选择使用的,因此以本项目为例来尝试如何在 Windows 下通过 VS 2019 编译已有的 CMake 项目。
- 第一步:下载 SPDLOG 源码。
- 第二步:通过 VS2019 打开 SPDLOG 源码目录。
- 打开方式以及打开结果如下图所示。
- PS:打开项目后可能需要一点时间才能加载 SPDLOG 文件夹中的内容。


- 第三步:配置并编译项目
- 这一步的工作类似于 Linux 中的
cmake .. && make -j - 右键点击
CMakeLists.txt 文件,点击spdlog 的 CMake 设置 - PS:如果直接点击
生成 ,会报错 错误 LNK1168 无法打开 example\example.exe 进行写入

- 第四步:安装
- 这一步的工作类似于 Linux 中的
sudo make install - 右键点击
CMakeLists.txt ,点击 安装 即可。 - 默认安装在
out/install 中

2. 在 VS2019 中创建 CMake 项目引入 SPDLOG
- 本章目标是在 VS2019 中使用 CMake。
- 第一步:在 VS2019 中创建 CMake 项目。
- 这一步其实完全按照 VS2019 指南即可,没有任何难度。



- 第二步:修改源码
- 简答说就是在
CMakeLists.txt 和 cmake_demo.cpp 文件中引入并使用 SPDLOG
cmake_minimum_required (VERSION 3.8)
project ("cmake_demo")
find_package(spdlog REQUIRED)
add_executable (cmake_demo cmake_demo.cpp)
target_link_libraries(cmake_demo PRIVATE spdlog::spdlog)
#include "spdlog/spdlog.h"
int main()
{
spdlog::info("Hello, {}!", "World");
}
- 第三步:在配置 CMake 信息
- 主要就是在
CMakeSettings.json 配置一些信息,如 spdlog 的路径。 - 注意:要求 spdlog 与当前项目同属于 Debug 或 Release。
- 之后只需
生成 即可

|