1.ubuntu18.04安装环境软件安装cmake安装gcc安装VSCode安装gdb调试工具安装以上安装不做具体说明
2. VSCode使用cmake编译c代码配置,gdb调试器2.1 VSCode安装插件:
进入此扩展(ctrlshiftx )菜单。 install以下item:C/C,C Intellisense,CMake,CMake Tools
2.2配置工程cmake编译代码。 gdb调试器主要位于三个文件的生成和放置中,分别为tasks.json、c_cpp_properties.json和launch.json。
使用快捷键Ctrl shift p在弹出窗口中添加设置。
以自己的项目为例:
我的项目目录:
CMakeLists.txt的内容如下:
#CMake所需的cmake _ minimum _ required (version 3.10 ) settheprojectnameandversionproject (tutorial version 1.0 ) add _ def ef 库是一个动态库,最后一个. cpp是构建的文件名add_executable(tutorial.CPP ) add _ library (tutorial tutorial.CPP )
chooserunaddconfiguration . andthenchoosec (gdb/lldb )。
结构如下。
//useintellisensetolearnaboutpossibleattributes.//hovertoviewdescriptionsofexistingattributes.//for more information libutes ' configuration s ' : [ { ' name ' : ' (gdb ) Launch ', ' type ' 3360 ]//' program ' : ' $ { file dirname }/$ { filebasenamenoextension }、' program ' 3360 ' $ { workspace Ford } ' cwd': '${workspaceFolder} ',' environment': [],'外部控制台' 3360 tract ' setup commands ' 3360 [ ' text ' : '-enable-pretty-printing gdb ',' text ' 3360 '-enable-printy-pring ' prelaunchtask ' 3360 ' tutortorting
修改内容如下
{ 'version': '2.0.0',' tasks ' : [ { ' label ' : ' tutorial ',//已编译的项目名称,build ' type ' 3360 ] make ',/编译命令' group': { 'kind': 'build ',' isDefault': true } },{ 'label': 'clean ',}
输入Ctrl Shift P,C/C,然后选择c/c :编辑配置(JSON )
内容如下。
{ ' configuration s ' : [ { ' name ' : ' Linux ',' include path ' : [ ' $ { workspace folder }/* * ' ],'定义' cStandard': 'gnu11 ',' cppStandard': 'gnu 17 ',' intellisennt ' configuration provider ' 3360 ' ms-vs code
3 .测试结果开始编译Ctrl Shift B
编译输出:
关闭电源后可以进行gdb调试:
从上面可以看出,有堆栈信息、终端输出、变量监视、公式显示。
4 .可能面临的问题
4.1可以编译,但是在引用头文件时,会显示代字号错误
解决方案:
方案1 :
重新打开项目目录时,将关闭并打开该目录
方案2 :
在工作区的. vscode文件夹中,单击,
打开命令行输入
gcc -v -E -x c -出现:
将此标记菜单的内容添加到c_cpp_properties.json文件中,如下所示
{ ' configuration s ' : [ { ' name ' : ' Linux ',' include path ' : [ ' $ { workspace folder }/*、'/usr } '/usr/include/c /7/backward/** '、'/usr/lib/gcc/x86 _ 64-Linux-GNU/7/include ' '/usr/include/x86 _ 64-Linux-GNU/* * ' compiler path ' : '/usr/lsdz/gcc ',' cStandard': 'gnu11 ' intellisennt ' configuration provider ' : ' ms-vs code.cmake-tools ' },' version': 4}重新打开文件目录将恢复正常