当前位置:   article > 正文

vscode找不到自己定义的头文件及源文件记录_vscode找不到自定义头文件

vscode找不到自定义头文件
1. 文件结构如下

D:\MyLearn\vsCode下有:

	-> include
		-->demo.hh
	-> source
		--> main.cpp
		-->demo.cpp
  • 1
  • 2
  • 3
  • 4
  • 5

单独编译main.cpp 不加入demo.hh时能正常编译过;
扩展自己的文件时,找不到路径?
在这里插入图片描述
很明显时头文件路径没找到, 并且编译时还需将demo.cpp一起带上;
接下来一起看看三个配置文件:

launch.json

F5选择gdb和g++相关;
只改动了"externalConsole": true,其余没动;

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,//表示打开终端
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\InstallPath\\vsCode\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}
  • 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
c_cpp_properties.json

ctrl + shift + p即可生成;选择c/c++ edit UI这个
刚开始尝试在 includePath 中添加,结果均不行; 此文件没改动;

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\InstallPath\\vsCode\\mingw64\\bin\\gcc.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
tasks.json

在args参数中 -I指定头文件路径, 若是有链接开源库需要-L?(没测试)

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\InstallPath\\vsCode\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-I${fileDirname}\\..\\include",//添加
                "-g",
                //"${file}", 屏蔽
                "D:\\MyLearn\\vsCode\\source\\*.cpp", //添加
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}
  • 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
  • 29
  • 30

重新编译即可;

注意

调试时具体可根据打印分析自己的路径是否正确:
其实缩短看就是: g++ *.h -g *cpp -o xxx.exe

-g 表示为了gdb调试用;
-o 表示将生成的执行程序改名为其他
  • 1
  • 2

在这里插入图片描述
参考:
https://code.visualstudio.com/docs/cpp/config-msvc

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/688973
推荐阅读
相关标签
  

闽ICP备14008679号