main.cpp:

#include <X11/Xlib.h>
#include <unistd.h>

int main()
{
    Display *display = XOpenDisplay(0);
    return 0;
}

引发异常



我有这个图书馆



VSCode提示#include X11 / Xlib.h,所以我想他知道在哪里可以找到该库。
构建任务:
"tasks": [
    {
        "label": "linux64",
        "type": "shell",
        "command": "g++",
        "args": [
            "-I",
            "${workspaceFolder}/Headers/",
            "-g",
            "${workspaceFolder}/Sources/main.cpp",
            "-o",
            "HW"
        ],
        "group": {
            "kind": "build",
            "isDefault": true,
        }
    }
]

帮我配置VSCode plz

更新:
与...合作
"tasks": [
    {
        "label": "linux64",
        "type": "shell",
        "command": "g++-8",
        "args": [
            "${workspaceFolder}/Sources/main.cpp",
            "-L",
            "/usr/include/X11/",
            "-lX11",
            "-o",
            "HW"
        ],
        "group": {
            "kind": "build",
            "isDefault": true,
        }
    }
]

最佳答案



不,不是的。

undefined reference 是链接错误。编译代码时,必须使用-l选项指定X11库,并使用-L选项指定其位置。例如。
g++ main.cpp -lX11library -L /path/to/X11/lib

关于c++ - 在Linux中为C++开发人员配置VSCode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51530912/

10-13 08:29