在Linux中为c ++开发人员配置VSCode

时间:2018-07-26 04:16:28

标签: c++ visual-studio-code

main.cpp:

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

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

引发异常

  

对“ XOpenDisplay”的未定义引用

我在

中有这个图书馆
  

/ usr / include / X11 /

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

upd:

"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,
        }
    }
]

1 个答案:

答案 0 :(得分:1)

  

VSCode提示#include X11 / Xlib.h,所以我想他知道在哪里可以找到该库

不,不是。

未定义引用是链接错误。编译代码时,必须使用-l选项指定X11库,并使用-L选项指定X11库的位置。例如。

g++ main.cpp -lX11library -L /path/to/X11/lib