我目前在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的网页,我只找到头文件,而不是编译器中链接器询问的文件类型(这是错误的术语......它不是编译器..它是某种东西别的..我知道。道歉)
答案 0 :(得分:4)
我不知道代码块是什么,但是对于正常的编译/链接过程,您需要指定-lX11
以链接libX11.so以获取Xlib函数。
答案 1 :(得分:1)
谢谢!我刚遇到同样的问题。拼写出来:
设置>编译器和调试器>链接器设置>其他链接器选项> “-lX11”
对于记录'codelite',它本身就是正确的。
答案 2 :(得分:0)
在CodeBlocks中,您只需在项目选项库中设置要链接,在编译器设置中设置-lX11将使用代码块链接编译每个程序对抗X11。