常用编译命令
1.通过g++命令编译多文件并生成程序
g++ -g main.cpp second.cpp -o main.exe
该方法有个明显的缺点,就是在-g
后面需要列出所有需要编译的cpp文件,如果文件比较多,用起来就比较麻烦,而且每次编译都需要完整的命令。
2.通过配置vscode使用g++编译
- 首先给vscode安装
c/c++ | c/c++ extension pack
。 - 同时,安装好
gcc | g++
编译器,这里windows环境下推荐用msys64
。 - 安装好之后,打开msys264,执行命令
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
(pacman命令只有在msys64中可以使用)。 - 上步结束后,将mingw64添加到用户PATH环境变量中。
- 使用
gcc --version
、g++ --version
、gdb --version
命令测试是否配置好环境变量。 - 点击F5按键,选择gdb,接着选择g++,如果上面的步骤都执行过,则应该不会出现问题。
- 上一步仅对单文件有效,如果有多个cpp文件,则会出现问题。
- 执行过上面的操作之后,会在当前文件夹地下生成.vscode文件夹,打开tasks.json文件,在tasks.args里面的-g命令后添加需要用到的cpp文件,注意路径,当前工作空间绝对地址可以用
${workspaceFolder}
。
3.通过vscode调试程序 - 点击左侧边栏的调试或运行图标
- 点击创建launch.json文件,然后打开文件,在右下角点击添加配置,选择gdb
- 修改
configurations.program
里面的参数为要调试的.exe文件,删除configurations.setupCommands
里面的参数 - 然后点击调试,即可进入调试页面
4.使用CMake进行编译
cmake仅需要简单的几条命令就能对复杂项目完成编译,使用起来比g++命令方便的多。
- 下载cmake for windows
- 为vscode下载cmake插件,包括
cmake | cmake tools
- 点击文件->另存工作区,将工作区保存到当前目录
- 在项目根目录下执行
mkdir build
命令 - 点击保存的工作区文件.code-workspace,在settings下添加
"cmake.generator": "MinGW Makefiles"
- 在当前项目根目录下创建CMakeLists.txt文件,文件内容大致如下。
cmake_minimum_required(VERSION 3.2)
project(projectName VERSION 0.0.1)
add_executable(projectName main.cpp second.cpp)
- 进入build文件夹内执行
cmake .. -G "MinGW Makefiles"
(首次编译),后续用cmake编译,仅需输入cmake ..
即可。