x11 代码无法在代码块中编译

标签 x11

我目前正在 Ubuntu 11.04 中运行最新版本的代码块。
我已经完全安装了 GTK+2 和 3 个开发人员库(并且可以正常工作),并且大概安装了 x11。头文件在那里。
但是,使用 x11 编码无法编译简单代码。

#include "X11/Xlib.h"

int main() {
    Display *display = XOpenDisplay(0);
    Window root = DefaultRootWindow(display);
    XWarpPointer(display, None, root, 0, 0, 0, 0, 100, 100);
    XCloseDisplay(display);
    return 0;
}
这给了我以下读数:

obj/Release/main.o||In function `main':|

undefined reference to `XOpenDisplay'

undefined reference to `XWarpPointer'

undefined reference to `XCloseDisplay'

|=== Build finished: 3 errors, 0 warnings ===|


我已经尝试阅读多个“链接”x11 的网页,我只找到头文件,而不是编译器中链接器要求的文件类型(这是错误的术语.. 它不是编译器.. 它是别的东西..我知道。抱歉)

最佳答案

我不知道 Code Blocks 是什么,但是对于正常的编译/链接过程,您需要指定 -lX11为 Xlib 函数与 libX11.so 链接。

关于x11 代码无法在代码块中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028295/

相关文章:

c++ - X11 应用程序在 Ubuntu 中没有响应

不使用窗口管理器时 X11 无法最大化应用程序

macos - 在 Mac OS 上的 gnuplot Octave 中找不到 x11 终端

c++ - linux下keycode是否一致

linux - 我可以在没有合成管理器的情况下创建非矩形窗口吗?

c++ - #define 宏和使用相同名称的枚举引起的冲突

c - 如何像 ghostscript 一样将 X11 键盘事件路由到标准输入?

c - 使用 X11 绘制更大的点

windows-10 - 如何在 WSL2 上设置工作 X11 转发

linux - 当监视器连接到 D-sub 连接器时,linux 会发出事件吗?