【vscode】vscode在windows与ubuntu下编译调试C/C++
总体流程为:
1、vscode安装
2、插件安装
3、MinGW安装配置
4、vscode调试配置文件
5、运行输出结果
详细流程:
1、vscode安装
下载链接:https://code.visualstudio.com/Download
windows下,一路下一步完成安装。
ubuntu下,dpkg -i xxxxx.deb进行安装后,终端输入code即可打开vscode
2、插件安装
点击工具和语言,会自动弹出扩展商店,选择C/C++,点击安装
3、MinGW安装配置
windows下有两种情况,第一种是直接从官网下载MinGW,第二种是如果电脑上安装了QT自带了mingw,比如我安装的是qt-opensource-windows-x86-mingw530-5.7.0.exe,只需要添加环境变量(D:\Qt\Qt5.7.0\Tools\mingw530_32\bin)即可,可以略去安装过程。
ubuntu下直接用gdb即可,可以跳过这一步。
如果从官网下载,流程如下:
下载链接:http://mingw.org/
选择好安装路径,其他默认即可
打开MinGW安装管理器进行进一步配置
勾选mingw32-gcc,mingw32-gcc-g++,mingw32-gdb分别是c,c++,gdb调试工具,Class均为bin,默认勾选的不用理会。
右键Make for Installation进行标记,点击左上角Installation菜单下的Apply Changes应用修改。
安装完成后添加系统环境变量 D:\MinGW\bin,添加后需要重启电脑。
4、vscode调试配置文件
新建一个文件夹,用vscode打开文件夹
新建文件,命名为test.cpp
键入代码:
选择【调试】-【启动调试】,弹出选择环境,选择【C++(GDB/LLDB)】
此时多了一个launch.json文件,用以下内容替换该文件内容(注意修改miDebuggerPath的值,同样的如果用qt提供的mingw,我这里修改为D:/Qt/Qt5.7.0/Tools/mingw530_32/bin/gdb.exe同样可以调试运行)
//launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch",
"type": "cppdbg",
"request": "launch",
"program": "${file}.o",
"args": [],
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"preLaunchTask": "g++",
"linux": {
"miDebuggerPath": "/usr/bin/gdb",
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
"osx": {
"MIMode": "lldb"
},
"windows": {
"miDebuggerPath": "D:/Qt/Qt5.7.0/Tools/mingw530_32/bin/gdb.exe",
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
}
]
}
选择【调试】-【启动调试】,弹出错误,找不到preLaunchTask"g++",选择配置任务,使用模版创建tasks.json文件,在弹出的选项中随便选择一个,生成tasks.json文件,用以下内容替换该文件内容
//tasks.json
{
"version": "0.1.0",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${file}.o"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
5、运行输出结果 选择【调试】-【启动调试】
问题:file format not recognized; treating as linker script
原因:如果提示错误的路径里没有qt,重启一下vscode即可,如果提示的错误的路径里有qt,则是mingw冲突,在环境变量中去掉qt提供的mingw即可。另外删除cpp生成的exe文件,选择cpp然后调试。
还有一个问题是自己写了其他的头文件和cpp,然后在test.cpp中包含调用,发现自己写的其他的cpp也生成了exe,所以直接把这个cpp里函数的实现都加到了头文件中,删掉这个cpp,可以正常调用了。
参考:
http://blog.csdn.net/c_duoduo/article/details/51615381
http://blog.csdn.net/Wind4study/article/details/56278953
上一篇: 手写代码:HashMap
推荐阅读
-
【vscode】vscode在windows与ubuntu下编译调试C/C++
-
关于ubuntu下vscode+C/C++多项目文件的编译与调试
-
【VSCode】Windows下VSCode编译调试c/c++
-
Ubuntu中使用VScode编译调试C/C++
-
【Linux】在Linux环境下使用VSCode调试C/C++程序
-
linux下VSCODE编译调试C++流程
-
Ubuntu下使用VScode编译调试C\C++
-
[无视][mark]在Ubuntu下使用vscode编程、编译、调试、单步调试C++
-
【VSCode】Windows下VSCode编译调试c/c++【更新】
-
【VSCode】Windows下VSCode编译调试c/c++