无法在 VScode“未定义引用”C++ 中包含 .H 文件

问题描述

硬件:树莓派 4

操作系统:树莓派操作系统

IDE:VScode

我正在尝试将一个带有(.H 扩展名)的 FLTX 库包含到我的 .cpp 文件中,但我收到了一个奇怪的错误

这里是终端输出

Starting build...
/usr/bin/g++ -g /home/pi/Desktop/CPP/test/test.cpp -o /home/pi/Desktop/CPP/test/test -l mosquitto -L /usr/include/FL/Fl_Window.H /usr/include/FL/Fl_Button.H
/usr/bin/ld: /tmp/ccHadCcX.o: in function `window()':
/home/pi/Desktop/CPP/test/test.cpp:72: undefined reference to `Fl_Window::Fl_Window(int,int,char const*)'
/usr/bin/ld: /home/pi/Desktop/CPP/test/test.cpp:73: undefined reference to `Fl_Group::begin()'
/usr/bin/ld: /home/pi/Desktop/CPP/test/test.cpp:74: undefined reference to `Fl_Group::end()'
/usr/bin/ld: /home/pi/Desktop/CPP/test/test.cpp:75: undefined reference to `Fl_Window::show()'
/usr/bin/ld: /home/pi/Desktop/CPP/test/test.cpp:72: undefined reference to `Fl_Window::~Fl_Window()'
/usr/bin/ld: /home/pi/Desktop/CPP/test/test.cpp:72: undefined reference to `Fl_Window::~Fl_Window()'
collect2: error: ld returned 1 exit status

Build finished with error(s).
The terminal process terminated with exit code: -1.

我曾尝试按照互联网上的指南进行操作,但没有成功

以下是 .cpp 文件中的一些代码

//Here I include libs:
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>


//And here they must be called:
void window()
{
    Fl_Window win(100,100,"test");
    win.begin();
    win.end();
    win.show();
}
//I call that function in main()

这里还有一些可能会有所帮助的文件tasks.json:

{
    "version": "2.0.0","tasks": [
        {
            "type": "cppbuild","label": "C/C++: g++ build active file","command": "/usr/bin/g++","args": [
                "-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}","-l","mosquitto","-L","/usr/include/FL/Fl_Window.H","/usr/include/FL/Fl_Button.H"
                //"/usr/include/"
            ],"options": {
                "cwd": "${fileDirname}"
            },"problemmatcher": [
                "$gcc"
            ],"group": {
                "kind": "build","isDefault": true
            },"detail": "compiler: /usr/bin/g++"
        }
    ]
}

c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Linux","includePath": [
                "${workspaceFolder}/**","/usr/include","/usr/include/FL","/usr/local/include","/usr/local/include/FL/images","/usr/include/freetype2","/usr/include/libpng16"

                //"/usr/local/include/FL",//"/home/pi/Downloads/fltk-1.3.6/"
                //"/home/pi/foo/fltk-1.3.2/"
            ],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "gnu17","cppStandard": "gnu++14","intelliSenseMode": "linux-gcc-arm","compilerArgs": [
                "           "
            ]
        }
    ],"version": 4
}

以及来自终端的 fltk-config 内容

pi@raspBerrypi:/usr/bin $ fltk-config --cxxflags
-I/usr/local/include -I/usr/local/include/FL/images -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)