私はLinux上でopen glを使用してかなり些細なプログラムを作成しようとしていますが、コンパイル時に次のようになります:
コンパイルサム:egl <= cuberenderer.c /path/include/egl.h:36からインクルードされるファイル、/ path/cuberenderer.c:7から:/path/include/eglplatform.h:89:22:エラー:X11 /Xlib.h:そのようなファイルまたはディレクトリはありません/path/include/eglplatform.h:90:23:エラー:X11/Xutil.h:そのようなファイルまたはディレクトリはありません
私はGLを初めて使用しますが、何が悪いのかわかりません。
クイック検索...
apt search Xlib.h
パッケージlibx11-devを起動しますが、純粋なOpenGLプログラミングにはこれを必要としません。どのチュートリアルを使用していますか?
以下を実行することにより、Xlib.hをシステムに追加できます...
Sudo apt 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
...................X11/extensions/XInput.h
の場合
その後、glsdk_0.4.4と例を問題なくビルドできました。
アンドリュー・ホワイトの答えはあなたを感動させるのに十分です。初心者向けの段階的な手順を次に示します。
簡単な始め方:
Test.cppを作成します:(これはビルドされ実行されて、正しくセットアップされたことを確認します。)
#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;
}
試してください:g++ test.cpp -lX11
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の新規インストールを使用してテスト済み
find /usr/include/X11 -name Xlib.h
を試してみませんか
ヒットがある場合、Xlib.hがあります。
Sudo apt-get install libx11-dev
を使用してインストールしない場合
そして、あなたは行ってもいいです:)