Qt 项目中对 XOpenDisplay 的未定义引用

发布于 2024-09-04 10:05:15 字数 538 浏览 5 评论 0原文

现在我感觉自己很愚蠢。我正在尝试在 Qt Creator 中使用 xlib 做一些事情。

我的代码:

#include <QtCore/QCoreApplication>
#include <X11/Xlib.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Display *display = XOpenDisplay(NULL);

    return 0;
}

只有一行代码,并给出:

/main.cpp:8: undefined reference to `XOpenDisplay'

它是在 Xlib.h 中定义的,因为

extern Display *XOpenDisplay(
    _Xconst char* /* display_name */
);

我觉得我缺少一些非常基本的东西。

Now I am feeling quite stupid. I am trying to do some stuff with xlib in Qt Creator.

My code:

#include <QtCore/QCoreApplication>
#include <X11/Xlib.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Display *display = XOpenDisplay(NULL);

    return 0;
}

Just one line of code and gives me:

/main.cpp:8: undefined reference to `XOpenDisplay'

It is defined in Xlib.h as

extern Display *XOpenDisplay(
    _Xconst char* /* display_name */
);

I feel I am missing something very basic.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思慕 2024-09-11 10:05:15

我已经弄清楚了。

-lX11 添加到 Makefile 解决了这个问题。

I've figured it out.

Adding -lX11 to the the Makefile solved this issue.

り繁华旳梦境 2024-09-11 10:05:15

@КодСерфинг145 我将 LIBS += -lX11 添加到 make 文件(.pro 文件)中
在项目内的构建步骤中添加附加参数对我来说也不起作用,而且像许多人建议的那样 QMAKE_CXXFLAGS += -lX11 也不起作用。

@КодСерфинг145 I added LIBS += -lX11 to the make file (the .pro file)
Adding Additional arguments to Build steps inside Projects did not work for me either and neither did QMAKE_CXXFLAGS += -lX11 like many suggests.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文