使用VSCode编译C/C++时,会存在找不到头文件的情况这时候需要设置两个地方:
1.c_cpp_properites.json 2.task.json
以下是我修改的对应的文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | { ?? "configurations" : [ ???? { ?????? "name" : "Win32" , ?????? "includePath" : [ ???????? "${workspaceFolder}/**" , ???????? "${workspaceRoot}" , ???????? "xxx/include" ?????? ], ?????? "browse" : { ???????? "path" : [ ?????????? "${workspaceRoot}" , ?????????? "xxx/lib" ???????? ] ?????? }, ?????? "defines" : [ ???????? "_DEBUG" , ???????? "UNICODE" , ???????? "_UNICODE" ?????? ], ?????? "compilerPath" : "xxx/gcc.exe" , ?????? "cStandard" : "c11" , ?????? "cppStandard" : "c++17" , ?????? "intelliSenseMode" : "gcc-x64" ???? } ?? ], ?? "version" : 4 } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { ?? "version" : "2.0.0" , ?? "command" : "g++" , ?? "args" : [ "-g" , "${file}" , "-Lxxx/lib" , "-Ixxx/include" , "-o" , "${fileBasenameNoExtension}.exe" ], // 编译命令参数,添加-L,-I选项 ?? "problemMatcher" : { ???? "owner" : "cpp" , ???? "fileLocation" : [ "relative" , "${workspaceRoot}" ], ???? "pattern" : { ?????? "regexp" : "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$" , ?????? "file" : 1, ?????? "line" : 2, ?????? "column" : 3, ?????? "severity" : 4, ?????? "message" : 5 ???? } ?? } } |
附加上launch.json,参考网上的,链接找不到了,感谢原作者。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | { ?? "version" : "0.2.0" , ?? "configurations" : [ ???? ? ???? { ?????? "name" : "(gdb) Launch" , // 配置名称,将会在启动配置的下拉菜单中显示 ?????? "type" : "cppdbg" ,? // 配置类型,这里只能为cppdbg ?????? "request" : "launch" , // 请求配置类型,可以为launch(启动)或attach(附加) ?????? "program" : "${workspaceRoot}/${fileBasenameNoExtension}.exe" , // 将要进行调试的程序的路径 ?????? "args" : [],? // 程序调试时传递给程序的命令行参数,一般设为空即可 ?????? "stopAtEntry" : false , // 设为true时程序将暂停在程序入口处,一般设置为false ?????? "cwd" : "${workspaceRoot}" , // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 ?????? "environment" : [], ?????? "externalConsole" : true , // 调试时是否显示控制台窗口,一般设置为true显示控制台 ?????? "MIMode" : "gdb" , ?????? "miDebuggerPath" : "xxx\\gdb.exe" , // miDebugger的路径,注意这里要与MinGw的路径对应 ?????? "preLaunchTask" : "g++" , // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc ?????? "setupCommands" : [ ???????? { ?????????? "description" : "Enable pretty-printing for gdb" , ?????????? "text" : "-enable-pretty-printing" , ?????????? "ignoreFailures" : true ???????? } ?????? ] ???? } ?? ] } |
vscode 添加头文件路径的方法
配置IntelliSense??
扩展程序会根据当前系统环境配置基本信息,因此有可能配置不完整,这时需要通过生成c_cpp_properties.json文件来配置缺少的信息:
ctrl+shift+P打开Command Palette,运行C/Cpp: Edit configurations...生成c_cpp_properties.json:
1 2 3 4 5 | "includePath" : [ ???????? "${workspaceFolder}/**" , ???????? "D:\\ite_sdk\\sdk\\**" , ???????? "D:\\ite_sdk\\openrtos\\**" , ???????? "C:\\ITEGCC\\*" |
构建应用程序
如果要构建应用程序,则需要生成tasks.json文件:
Ctrl+Shift+P -> Tasks: Configure Tasks… -> Create tasks.json file from templates -> Others.
|