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

前面安装就不废话了.
前面踩了一个坑 大家可以参考 Visual studio Code 安装 CMake 踩坑日志. 无法找到你的 新安装的编译工具 kit

★ 接下来我先谈谈.C++ 编译器,其他编译工具,是如何结合第三方 IDE 配合的.以便于理解CMake 与 VSCode 如何配合使用
例如 notepad++ 通过命令行工具完成编译操作的.

VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第1张图片

先说这个是,让小白不要走弯路. 利用 命令行工具编译,集成到 notepad++ 用快捷键调用显示在输出窗口
VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第2张图片
规则在帮助文档中
VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第3张图片
这就是所有的 IDE + kit +命令行 的基本原理.
无论什么IDE 都要通过不同形式调用 编译工具,gcc,g++ ,…make 等,完成

VSCode 也是一样的, 插件 CMake 和 Tool 工具 只是提供,给 VSCode 帮助码农,提供"脚本" 以便于 CMake 生成make,文件
再从VSCode 的task.json ,脚本提供快捷方式
但是依然是调用的命令行, VSCode 这种方式可以帮助大型项目管理自身.通过插件与其他项目工具(例如:cmake) 结合.
提高可移植性.

刚刚接触 VSCode 环境有点蒙圈!
下面是 tasks.json 如何调用命令行的 :方式
VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第4张图片
上面其实还是.利用控制台调用第一个任务"cmake" 组织编译过程文件脚本,第二个任务 “make” 执行编译,链接过.
CMake 参与了.如何生成脚本make文件的过程,

VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第5张图片
你当然可以将所有的 CMake 过程写在一个 CMakeLists.txt 文件中,但是这样容易出错.
所以我参考了 文章____VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第6张图片__点击图片 介绍 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 处理

VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第7张图片

等配置好这些后,其实 CMake 是从 VSCode 外部运行的.
通过控制台调用 CMake 分析 CMakeLists.txt 生成一系列的make 目标文件
VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第8张图片
首先在控制图看到可以使用再看VSCode的复杂配置环境就简单了
VScode踩坑 windows 7 下如何实现正确结合 CMake 编译._第9张图片

为了这个小问题,糊涂了好一阵子.希望能看到此文的人也能了解,

make.exe 执行文件 就是mingw32-make.exe 文件
本文的源码 下载

你可能感兴趣的:(C++,CMake,开发)