1.前言
本来之前发文用的是CodeBlocks和cmake进行结合使用的,无奈在Mac上CodeBlocks竟然不更新了,纠结了许久是否继续使用CodeBlocks,但是想到在mac上不能使用CodeBlocks愉快地学习了。本文所有内容在Windows10上实践,所以Mac和Ubuntu得有空跑通再另说。
2.安装环境
此文章所用环境及版本为:
(1) MinGW v8.1.0
(2) CMake v3.21.2
(3) VS Code v1.62.1 (系统安装模式)
(插件:C/C++ v1.7.1,CMake v0.0.17,CMake Tools v1.9.1,clangd v0.1.13)
(4) glad v3.3 (core)
(5) glfw v3.3.5
2.1安装MinGW
在Windows上安装mingw推荐安装32位和64位兼容的版本,因为你可能需要同时编译32位和64位的,如果只装其中一个版本,那就比较头疼。在这个下面网址下载MinGW-W64-install.exe进行在线安装,Version我这里选择8.1.0,Architecture因为我的是64位系统所以选择x86_64,Threads选择posix (通常我希望不只是编译win的,还可以Android的,所以选了这个),Exception选择sjlj(这个支持32位和64位的,seh是新的不支持32位,如果只编译64位你可以选择seh),然后安装就可以了。你也可以在页面直接选择下载解压,不过要自己配置环境变量。
我的安装路径在C:\mingw64,环境变量的Path配置如下:
2.2安装CMake
在cmake官网下载cmake-3.21.2-windows-x86_64.msi(可以根据最新版本自己选择),安装下一步到完成就好了(记得选择配置环境变量或者自己配置一下路径,跟上图C:\Program Files\CMake\bin一样指定到bin路径就可以)。Download | CMakehttps://cmake.org/download/
2.3安装VS Code及插件
我在这里选择了Windows->System installer->64bit下载安装。
在VS Code左侧点选图中第四个(如果你的不是第四个请选择同样的图标进行点击),然后依次安装图中四个插件。特别注意的是在安装clangd插件的时候会弹出Download clangd server进行安装依赖,这里大概率会失败,请重试几次或者按照提示进行自己下载。这里自动下载安装的话会在settings.json自动配置clangd.path这个参数,如果自己下载的请自行添加指定到具体路径。
另外需要特别的配置是勾选cmake-tools的导出compile_commands.json这个文件,这个文件用在clangd寻找依赖的时候用到的。通过CMake Tools右侧设置按钮点出的菜单选择Extension Settings,在弹出的界面上方输入export compile进行搜索,然后勾选第二张图所示。
最后,附上我这里目前的配置和进行一些必要说明就可以了,有一些是我自己摸索出来的。这里需要特别说明的几个是:
(1)cmake.buildDirectory这个配置是我希望不同的编译选项编译到不同的路径,比如build/x86/Debug和build/X64/Release这些,在后面的cmake-variants.json中会配置后面的两个参数,如果你不是跟我一样用请自行修改一下。
(2)cmake.copyCompileCommands这个配置的是cmake配置完成后会在build/x86/Debug这样的路径下生成compile_commands.json这个文件,但是在后面的clangd.arguments --compile-