C++项目环境的配置

这几天为了一个项目折腾了不少开发环境,下面简单说说

0. WSL2

一个系统级别集成的基于Hyper-v的Linux虚拟机,这里简单说几个踩坑点:

  • 参照官方文档一步一步安装即可
  • 考虑安装顺序为:官网一键部署 -> 手动下载包安装
  • 和安卓模拟器有着潜在的冲突(模拟器换成MuMu11可以解决)
  • 和VMWare存在潜在的冲突(VM升级到17即可)
  • 可能和VirtualBox存在冲突(我电脑没有诶)

1. VSCode+官方cpp插件

最传统的方式,既可以跑cmake构建项目,也可以在VSCode的选项卡(在不写CMake配置文件下)单个生成文件,也是大部分人VSCode使用cpp的方式,但受限于cpp插件的代码提示功能

2. VSCode+clangd插件

方案1和方案2不能同时兼用(clangd和官方cpp插件存在冲突)

最好的办法就是下两个VSCode

虽然拥有了clangd的代码补全功能,但却因为仅用了官方cpp插件而选项卡没有运行按钮

cpp插件下有运行按钮,而clangd下没有

这时如果运行文件只能老老实实写 CMakeFiles.txt,然后在底部栏调试及运行

🥵clangd的大坑

  • 需要在 CMakeFiles.txt同级目录下有配置文件 compile_commands.json 才能正常工作,参见官网说明

  • 该文件的生成方式同样参见官网

  • compile_commands.json 示例:

    1
    2
    3
    4
    5
    6
    7
    [
    {
    "directory": "/root/babyjson-demo/build",
    "command": "/usr/bin/g++-12 -std=c++17 -g -o CMakeFiles/main.dir/main.cpp.o -c /root/babyjson-demo/main.cpp",
    "file": "/root/babyjson-demo/main.cpp"
    }
    ]

    这是一个使用WSL2+GCC12的cpp17标准的,仅含一个 main.cpp的项目的 compile_commands.json,由CMake自动生成

3. Visual Studio

这个也是可以连接到WSL2开发的,但缺点是有些许Bug

And More…?

肯定还有许多其他方案,如Clion+WSL2,甚至安装Linux虚拟机,这里就不写了

配环境配环境

不管使用WSL2还是虚拟机都逃不掉配环境的问题,笔者也遇到了升级make和GCC的问题,所以在这贴点链接。。


C++项目环境的配置
http://blog.pk5ls20.com/posts/6c72df3a/
作者
pk5
发布于
2023年5月23日
许可协议