前面安装就不废话了.
前面踩了一个坑 大家可以参考 Visual studio Code 安装 CMake 踩坑日志. 无法找到你的 新安装的编译工具 kit
★ 接下来我先谈谈.C++ 编译器,其他编译工具,是如何结合第三方 IDE 配合的.以便于理解CMake 与 VSCode 如何配合使用
例如 notepad++ 通过命令行工具完成编译操作的.
先说这个是,让小白不要走弯路. 利用 命令行工具编译,集成到 notepad++ 用快捷键调用显示在输出窗口
规则在帮助文档中
这就是所有的 IDE + kit +命令行 的基本原理.
无论什么IDE 都要通过不同形式调用 编译工具,gcc,g++ ,…make 等,完成
VSCode 也是一样的, 插件 CMake 和 Tool 工具 只是提供,给 VSCode 帮助码农,提供"脚本" 以便于 CMake 生成make,文件
再从VSCode 的task.json ,脚本提供快捷方式
但是依然是调用的命令行, VSCode 这种方式可以帮助大型项目管理自身.通过插件与其他项目工具(例如:cmake) 结合.
提高可移植性.
刚刚接触 VSCode 环境有点蒙圈!
下面是 tasks.json 如何调用命令行的 :方式
上面其实还是.利用控制台调用第一个任务"cmake" 组织编译过程文件脚本,第二个任务 “make” 执行编译,链接过.
CMake 参与了.如何生成脚本make文件的过程,
你当然可以将所有的 CMake 过程写在一个 CMakeLists.txt 文件中,但是这样容易出错.
所以我参考了 文章______点击图片 介绍 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 文件分开的办法,适合更多文件的管理.
等配置好这些后,其实 CMake 是从 VSCode 外部运行的.
通过控制台调用 CMake 分析 CMakeLists.txt 生成一系列的make 目标文件
首先在控制图看到可以使用再看VSCode的复杂配置环境就简单了
为了这个小问题,糊涂了好一阵子.希望能看到此文的人也能了解,
make.exe 执行文件 就是mingw32-make.exe 文件
本文的源码 下载