在Ubuntu中找不到X11 / Xlib.h
我正在尝试在linux上使用open gl来编写一个相当简单的程序,但是在编译时它说:
编译thumb:egl <= cuberenderer.c从/path/include/egl.h:36包含的文件中,从/path/cuberenderer.c:7:/path/include/eglplatform.h:89:22:error:X11 /Xlib.h:没有这样的文件或目录/path/include/eglplatform.h:90:23:错误:X11 / Xutil.h:没有这样的文件或目录
我对GL完全陌生,不知道有什么问题。
快速search使用…
apt-file search Xlib.h
打开libx11-dev软件包,但是你不应该需要这个用于纯OpenGL编程。 你正在使用什么教程?
您可以通过运行以下内容将Xlib.h添加到您的系统…
sudo apt-get install libx11-dev
假设他正在使用http://www.arcsynthesis.org/gltut/和premake4.3的教程;:-)
sudo apt-get install libx11-dev
…………….. forX11/Xlib.h
sudo apt-get install mesa-common-dev
……..为GL/glx.h
sudo apt-get install libglu1-mesa-dev
….. forGL/glu.h
sudo apt-get install libxrandr-dev
………… forX11/extensions/Xrandr.h
sudo apt-get install libxi-dev
………………. forX11/extensions/XInput.h
之后,我可以build立glsdk_0.4.4和没有进一步问题的例子。
安德鲁·怀特的答案足以让你感动。 这是一个初学者的一步一步。
一个简单的开始:
创buildtest.cpp:(这将被build立并运行,以确认你的东西设置正确。)
#include <X11/Xlib.h> #include <unistd.h> main() { // Open a display. Display *d = XOpenDisplay(0); if ( d ) { // Create the window Window w = XCreateWindow(d, DefaultRootWindow(d), 0, 0, 200, 100, 0, CopyFromParent, CopyFromParent, CopyFromParent, 0, 0); // Show the window XMapWindow(d, w); XFlush(d); // Sleep long enough to see the window. sleep(10); } return 0; }
(来源:LinuxGazette)
尝试: g++ test.cpp -lX11
如果它构build到a.out
,请尝试运行它。 如果你看到一个简单的窗口绘制,你有必要的库,还有一些其他的根问题正在进行。
如果你的回答是:
test.cpp:1:22: fatal error: X11/Xlib.h: No such file or directory compilation terminated.
你需要安装X11开发库。 sudo apt-get install libx11-dev
重试g++ test.cpp -lX11
如果它有效,你是金。
使用全新安装的libX11-dev_2%3a1.5.0-1_i386.deb进行testing
为什么不试试find /usr/include/X11 -name Xlib.h
如果有一个命中,你有Xlib.h
如果不使用sudo apt-get install libx11-dev
来安装它
你很好去:)
- C#错误:父不包含一个构造函数,它需要0个参数
- NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:'NSBundle
- 在构造函数中使用数组常量时出现编译器错误
- 为什么我可以传递1作为一个简短的,而不是我的intvariables?
- 如何查看IntelliJ中编译错误的列表?
- 错误:安装脚本退出错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为1
- 为什么这个通用代码在java 8中编译?
- 由于其架构“XXX”不包含所有必需的体系结构,因此Pods被拒绝作为“libPods.a”的隐式依赖
- generics方法上的多个通配符使Java编译器(和我!)非常困惑