跳到主要内容

Vscode 使用 Cmake 开发

相关配置

https://code.visualstudio.com/docs/cpp/cmake-linux

{
"cmake.configureSettings": {
"OCR_OUTPUT":"PYBIND",
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"PYTHON3_DEBUG_LIBRARY": "C:/Program Files/Python311/libs",
}
}

编译目标

在使用 CMake 生成 Visual Studio 解决方案时(Vscode 也是),可能会遇到几个特殊的项目,如 ALL_BUILDINSTALL、和 ZERO_CHECK。这些项目在 Visual Studio 解决方案中自动生成,用于辅助管理和控制构建过程。它们的作用如下:

  • ALL_BUILD 是一个 Visual Studio 解决方案中的默认构建目标。当你在 Visual Studio 中点击 “构建解决方案” 时,实际上是在构建 ALL_BUILD 项目。这个项目的作用是触发解决方案中所有标记为构建的项目的构建过程,确保整个项目或者说是你添加到 CMakeLists 文件中的所有目标都会被构建。它是一个虚拟项目,没有实际的源代码文件关联,仅用于触发构建过程。

  • INSTALL 是用于安装阶段的项目。如果在 CMakeLists.txt 文件中定义了安装规则(即使用了 install() 命令),那么在生成的 Visual Studio 解决方案中会出现一个名为 INSTALL 的项目。通过构建(或“执行”)这个项目,可以根据 CMakeLists.txt 中定义的规则,将需要的文件(比如可执行文件、库文件、头文件等)复制到指定的安装目录。这个过程相当于在命令行执行 cmake --build . --target install 命令。

  • ZERO_CHECK 项目在每次构建过程开始时自动运行,用于检查 CMakeLists.txt 文件或其他依赖的 CMake 配置文件自上次生成以来是否有更改。如果检测到有更改,ZERO_CHECK 会重新运行 CMake 配置过程,以确保生成的构建系统是最新的。这意味着,如果你修改了 CMake 配置并保存,下次构建项目时,ZERO_CHECK 会自动更新构建系统,无需手动重新运行 CMake。