关于VSCode的C/C++编译问题,主要关于头文件与库的引用

首先,我是在Ubuntu16.04环境下,使用的是deb安装包直接安装

1.我在c_cpp_properties里面加头文件的链接,但是其中有两个路径,"includePath"和"browse": { "path": [,请问这两个分别是什么意思
2.我用它测试了helloworld的基本代码,但是出现了闪退的现象,加了system(“pause”)也并没有什么用,但设置断点可以看到输出
3.我想知道vscode都不需要引用lib库吗?我没发现有位置去引用啊
4.使用vscode,我明明在c_cpp_properties中添加了路径(两个地方都加了),文件用ctrl都能打开,为什么还是会输出找不到文件的错误?
不需要全部问题都能解决,能解决多少我都很满意,求大神指条明路,眼巴巴.jpg

1:确实不知道。一般两个都加了。更一般我根本不会去产生一个c_cpp_properties文件。直接使用了默认配置。
2:你是使用调试吗?调试确实会闪退啊。因为程序正常结束了。另,linux系统并没有pause命令。。。但你设置断点当然会停住。如果你想看输出,写个while(1)不就行了???

3:vscode不执行编译,它只是编辑器,所以当然不用引用lib,哪怕是调试也是不用的。
4:试试在文件夹路径后面加一个*号?可能有用。其实一般在ubuntu下不需要额外配置include路径啊?能不能具体发一下情况。追问

为什么会不需要去引用头文件呢?一个大项目下,头文件没有跟cpp放一起,你是怎么处理的?

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-21

你查一下有哪些包含.h文件的include文件夹  全部加到配置里面就是了. 我的配置win10 + cygwin . 我只配置了win32节点

{
   "configurations": [
       {
           "name": "Mac",
           "includePath": [
               "/usr/include",
               "/usr/local/include",
               "${workspaceRoot}"
           ],
           "defines": [],
           "intelliSenseMode": "clang-x64",
           "browse": {
               "path": [
                   "/usr/include",
                   "/usr/local/include",
                   "${workspaceRoot}"
               ],
               "limitSymbolsToIncludedHeaders": true,
               "databaseFilename": ""
           },
           "macFrameworkPath": [
               "/System/Library/Frameworks",
               "/Library/Frameworks"
           ]
       },
       {
           "name": "Linux",
           "includePath": [
               "/usr/include",
               "/usr/local/include",
               "${workspaceRoot}"
           ],
           "defines": [],
           "intelliSenseMode": "clang-x64",
           "browse": {
               "path": [
                   "/usr/include",
                   "/usr/local/include",
                   "${workspaceRoot}"
               ],
               "limitSymbolsToIncludedHeaders": true,
               "databaseFilename": ""
           }
       },
       {
           "name": "Win32",
           "includePath": [
               "E:/Cygwin/usr/include",
               "E:/cygwin/lib/gcc/i686-pc-cygwin/6.4.0/include",
               "E:/cygwin/lib/gcc/i686-pc-cygwin/6.4.0/install-tools/include",
               "${workspaceRoot}"
           ],
           "defines": [
               "_DEBUG",
               "UNICODE"
           ],
           "intelliSenseMode": "msvc-x64",
           "browse": {
               "path": [
                   "E:/Cygwin/usr/include",
                   "E:/cygwin/lib/gcc/i686-pc-cygwin/6.4.0/include",
                   "E:/cygwin/lib/gcc/i686-pc-cygwin/6.4.0/install-tools/include",
                   "${workspaceRoot}"
               ],
               "limitSymbolsToIncludedHeaders": true,
               "databaseFilename": ""
           }
       }
   ],
   "version": 3
}

vscode c\/c++环境配置(MinGW)+调用第三官方库方法
这样就能找到头文件了,没有报错。如没有在c_cpp_properties.json的includePath下添加SDL库的路径,则会报错。tasks.json也需要修改,具体就是加上编译参数。主要就是args那一栏需要修改。设置好后就能输出可执行文件了,但是运行发现没有输入。因为使用的是动态链接库,需要将SDL库的SDL2.dll文件复制到生...

使用vscode编译C++多文件(包含模板类)|解决Undefined reference to报错...
在使用Visual Studio Code编译C++时,遇到了在多文件项目中(包含模板类)出现"undefined reference to"错误的问题。最初,我试图在头文件中定义模板类,以实现泛型编程,同时保持头文件(.h)与源文件(.cpp)分离,以便于复现“Algorithms, Part1”课程中的相关内容。问题在于,虽然在头文件中声明了类和模...

VScode中使用C++语言调用第三方库的方法
VScode调用第三方库的方法,需要对配置文件进行细致调整。首先,打开命令面板,使用快捷键Ctrl+Shift+P。在命令面板中,找到并打开c_cpp_properties.json文件进行配置。该文件中,需添加编译器路径、包含目录及库目录等信息。编译器路径应指向已下载的mingw编译器,包含目录则指向第三方库的头文件所在路径,...

VScode 编写C++ 用自己的头文件 自定义函数用不了
去看了国外的stackoverflow的回答是原因是vscode没有将main.cpp和你实现头文件函数的cpp文件所关联,方法是使用命令行语句g++ *.cpp生成相应的exe文件然后.\\文件名.exe

vscode 用C\/C++ Project Generator创建的工程,在工程include文件夹自己增...
第一种方法:在代码中包含头文件时使用路径,比如这里看你的头文件应该在当然目录下的include文件夹那就可以写成下面的形式:include".\/include\/upgrade_app.h"第二种方法:修改配置,如你图中所示是头文件的路径有问题,\\是转义字符,在路径时要使用\\\\代替。程序已经给标记了错误,下面有波浪线。总结...

VSCode 里的 C++ 跳转:cmake-file-api 介绍
VSCode中使用C++开发时,遇到跳转问题时,首先需要理解VSCode的配置以及CMake的集成插件如何工作。在安装了Cpp Tools和CMake Tools插件后,调用三方库的函数和头文件时,VSCode有时能实现跳转,但有时则无法跳转并显示红色波浪线。检查发现,CMake Tools插件在执行cmake构建时会生成额外的build\/.cmake目录,...

在vscode下写自己的头文件clangd会报错找不到头文件该怎么
在使用过程中,可能会遇到找不到标准库头文件的问题。这是因为在启动时,Clangd需要通过参数指定搜索标准库头文件的目录。解决方法是修改VSCode的设置,加入相应的配置以指定目录。另外一种常见的问题是,当工程不是通过CMake构建或CMake执行失败时,无法生成compile_commands.json文件。这会使得Clangd无法解析...

在vscode写了一个c++程序,怎么导入qt中呢?然后怎么把c++里的参数啥的和...
打开 Qt Creator 并创建一个新的 Qt 应用程序项目。在 "项目" 菜单中选择 "添加新文件",选择 "C++源文件",并将其命名为与 VS Code 中的源文件相同的名称。将 VS Code 中的 C++ 代码复制到 Qt Creator 中的源文件中。为 Qt Creator 项目中的源文件添加 Qt 相关头文件和库,例如 "QWidget...

vscode 头文件报错:找不到头文件
接下来是B类问题,即IntelliSense的检查。通过打开VSCode的快捷菜单,选择相应的配置选项,可以添加您的头文件目录以供搜索。具体方法是:在VSCode前台运行时按下Ctrl+Shift+P快捷键,然后选择C\/C++编辑配置(可为json文件或用户界面);在弹出的对话框中搜索"IncludePath",并在此处输入您需要检查的头文件...

[VScode]关于找不到头文件的解决
在非工作区使用c或c++出现这个问题,属于正常现象,请自行检查工作区的设置 查看是否将使用到的头文件目录都放到了 c_cpp_properties.json 中的 includePath 里面去了 然后把所有目录全部添加到 c_cpp_properties.json 中的 includePath 里面 可以检查下 c_cpp_properties.json 中 compilerPath 路径是否...

相似回答