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,
}
}
]
答案 0 :(得分:1)
VSCode提示#include X11 / Xlib.h,所以我想他知道在哪里可以找到该库
不,不是。
未定义引用是链接错误。编译代码时,必须使用-l
选项指定X11库,并使用-L
选项指定X11库的位置。例如。
g++ main.cpp -lX11library -L /path/to/X11/lib