【问题标题】:Undefined reference to XOpenDisplay in a Qt projectQt 项目中对 XOpenDisplay 的未定义引用
【发布时间】:2011-02-27 20:27:38
【问题描述】:

现在我觉得自己很愚蠢。我正在尝试在 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 */
);

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

【问题讨论】:

  • @cz-david 您是否在 Qt 项目文件中将 XLib 添加到 LIB 中?

标签: c++ qt xlib


【解决方案1】:

找到了...编译器问题

在 make 文件中添加了 -lX11

【讨论】:

  • 你在Qt Creator的哪里添加
  • 项目 - 构建步骤 - 附加参数
  • @Meltea 这似乎不适用于 Qt 5.5.1 中的 qmake 我如何使其工作?它是说 -lX11 不是一个已知的参数。
  • 什么文件?问题中没有提到 make 文件。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多