C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.

前面安装就不废话了.
前面踩了一个坑 大家可以参考 Visual studio Code 安装 CMake 踩坑日志. 无法找到你的 新安装的编译工具 kit
★ 接下来我先谈谈.C++ 编译器,其他编译工具,是如何结合第三方 IDE 配合的.以便于理解CMake 与 VSCode 如何配合使用
例如 notepad++ 通过命令行工具完成编译操作的.
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

先说这个是,让小白不要走弯路. 利用 命令行工具编译,集成到 notepad++ 用快捷键调用显示在输出窗口
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

规则在帮助文档中
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

这就是所有的 IDE + kit +命令行 的基本原理.
无论什么IDE 都要通过不同形式调用 编译工具,gcc,g++ ,…make 等,完成
VSCode 也是一样的, 插件 CMake 和 Tool 工具 只是提供,给 VSCode 帮助码农,提供"脚本" 以便于 CMake 生成make,文件
再从VSCode 的task.json ,脚本提供快捷方式
但是依然是调用的命令行, VSCode 这种方式可以帮助大型项目管理自身.通过插件与其他项目工具(例如:cmake) 结合.
提高可移植性.
刚刚接触 VSCode 环境有点蒙圈!
下面是 tasks.json 如何调用命令行的 :方式
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

上面其实还是.利用控制台调用第一个任务"cmake" 组织编译过程文件脚本,第二个任务 “make” 执行编译,链接过.
CMake 参与了.如何生成脚本make文件的过程,
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

你当然可以将所有的 CMake 过程写在一个 CMakeLists.txt 文件中,但是这样容易出错.
所以我参考了 文章____C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片
__点击图片 介绍 CMake 真正的 和VSCode 结合的使用方法
首先根目录的
下图: CMakeLists.txt 文件

PROJECT(maintest)#设置工程名 ADD_SUBDIRECTORY(src)#通知make有目录 CMAKE_MINIMUM_REQUIRED(VERSION 3.7)#设置版本号MESSAGE(STATUS "This is BINARY dir " ${maintest_SOURCE_DIR}) MESSAGE(STATUS "This is SOURCE dir " ${maintest_SOURCE_DIR})#主文件main.cpp 设置 : SET(EXECUTABLE_OUTPUT_PATH ${maintest_SOURCE_DIR}/build)#执行程序输出目录 SET(SRC_LIST main.cpp)INCLUDE_DIRECTORIES(${maintest_SOURCE_DIR}/include) LINK_DIRECTORIES(${maintest_SOURCE_DIR}/lib)ADD_EXECUTABLE(maintest ${SRC_LIST}) TARGET_LINK_LIBRARIES(maintest src)

这个 CMakeLists.txt只管理 当前目录的 文件组织.
通过 ADD_SUBDIRECTORY(src) #通知make有目录
其次src目录的
下图: CMakeLists.txt 文件
SET(LIBRARY_OUTPUT_PATH ${maintest_SOURCE_DIR}/lib) SET(CMAKE_C_COMPILER g++) SET(SRC_LIST Cat.cpp) INCLUDE_DIRECTORIES(${maintest_SOURCE_DIR}/include) ADD_LIBRARY(src STATIC ${SRC_LIST})

第二个 CMakeLists.txt 文件 ,也只是管理当前目录的文件.
这样 CMakeLists.txt 文件分开的办法,适合更多文件的管理.
  1. 对于,语法错误,和文件符号的定义是通过 .vscode 下的 c_cpp_properrties.json 处理
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

等配置好这些后,其实 CMake 是从 VSCode 外部运行的.
通过控制台调用 CMake 分析 CMakeLists.txt 生成一系列的make 目标文件
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

首先在控制图看到可以使用再看VSCode的复杂配置环境就简单了
C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.
文章图片

为了这个小问题,糊涂了好一阵子.希望能看到此文的人也能了解,
【C++|VScode踩坑 windows 7 下如何实现正确结合 CMake 编译.】make.exe 执行文件 就是mingw32-make.exe 文件
本文的源码 下载

    推荐阅读