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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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放一起,你是怎么处理的?

参考技术A

你查一下有哪些包含.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++编译问题,主要关于头文件与库的引用的主要内容,如果未能解决你的问题,请参考以下文章

vscode C语言编译?

vscode 用C/C++ Project Generator创建的工程,在工程include文件夹自己增加的.h,编译会提示找不到?

VScode安装编译运行调试C/C++

vscode配置c/c++环境没有默认配置

[VScode]关于找不到头文件的解决

vscode c++编译报错:‘nullptr’ was not declared in this scope(-std=c++11)