一、linux 版本解决头文件未找到问题
错误信息:[{
“resource”: “/home/ubuntu/erchashu/BTCreate.cpp”,
“message”: “检测到 #include 错误。请更新 includePath。已为此翻译单元(/home/ubuntu/erchashu/BTCreate.cpp)禁用波形曲线。”,
}]


解决方案:

首先打开一个文件夹,ctrl+shift+p 打开搜索,搜索
在这里插入图片描述

执行 g++ -v -E -x c++ - 搜索所有生成路径

在这里插入图片描述
将此路径添加到"includePath": 下。

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/c++/9",
                "/usr/include/x86_64-linux-gnu/c++/9",
                "/usr/include/c++/9/backward",
                "/usr/lib/gcc/x86_64-linux-gnu/9/include",
                "/usr/local/include",
                "/usr/include/x86_64-linux-gnu",
                "/usr/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

然后就可以正常搜索到.h文件了


二、g++常用编译参数

  1. 预编译 编译 汇编 链接
    在这里插入图片描述
  2. g++ 附加调试信息
    在这里插入图片描述

3.优化源代码 (一般用-o2)
在这里插入图片描述

4.指定库文件
在这里插入图片描述

在这里插入图片描述
连接静态库生产可执行文件例子:
工程由当前文件夹下的BTCreate.cpp ,src文件夹下的Fun.cpp 和test文件下的BTCreate.h构成。

在这里插入图片描述

首先先将fun,cpp生成点o文件:在这里插入图片描述

再生成静态库:

在这里插入图片描述
最后形成可执行程序:
在这里插入图片描述


也是上面的那个例子,用动态库方式链接一下:
在这里插入图片描述
1.生成动态库:
在这里插入图片描述
2.将动态库链接到程序中生成可执行文件:在这里插入图片描述
注意: -l 后指定动态库名,-L 后指定路径 -o后指定可执行文件名

在这里插入图片描述
执行可执行文件:
在这里插入图片描述


5.指定搜索目录在这里插入图片描述
案例:
下面的.h文件不在当前目录中, 编译器提示找不到
在这里插入图片描述
用 -I 命令试一试:
在这里插入图片描述结果正常输出
(但是,用vscode 运行,也 则找不到.h文件)


6.在这里插入图片描述
7.在这里插入图片描述
例子:
在这里插入图片描述


8.在这里插入图片描述

Logo

更多推荐