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

时间:2011-11-06 16:04:06

标签: 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 ||在函数`main'中:|

     

对“XOpenDisplay”的未定义引用

     

对“XWarpPointer”的未定义引用

     

对“XCloseDisplay”的未定义引用

     

| ===构建完成:3个错误,0个警告=== |

我试过阅读多个'链接'x11的网页,我只找到头文件,而不是编译器中链接器询问的文件类型(这是错误的术语......它不是编译器..它是某种东西别的..我知道。道歉)

3 个答案:

答案 0 :(得分:4)

我不知道代码块是什么,但是对于正常的编译/链接过程,您需要指定-lX11以链接libX11.so以获取Xlib函数。

答案 1 :(得分:1)

谢谢!我刚遇到同样的问题。拼写出来:

设置>编译器和调试器>链接器设置>其他链接器选项> “-lX11”

对于记录'codelite',它本身就是正确的。

答案 2 :(得分:0)

在CodeBlocks中,您只需在项目选项库中设置要链接,在编译器设置中设置-lX11将使用代码块链接编译每个程序对抗X11。