web-dev-qa-db-ja.com

X11 / Xlib.hがUbuntuで見つかりません

私は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を初めて使用しますが、何が悪いのかわかりません。

56
Denys S.

クイック検索...

apt search Xlib.h

パッケージlibx11-devを起動しますが、純粋なOpenGLプログラミングにはこれを必要としません。どのチュートリアルを使用していますか?

以下を実行することにより、Xlib.hをシステムに追加できます...

Sudo apt install libx11-dev
140
Andrew White

彼が http://www.arcsynthesis.org/gltut/ のチュートリアルをpremake4.3と一緒に使用していると仮定します:-)

Sudo apt-get install libx11-dev ................. for X11/Xlib.h
Sudo apt-get install mesa-common-dev........ GL/glx.hの場合
Sudo apt-get install libglu1-mesa-dev ..... for GL/glu.h
Sudo apt-get install libxrandr-dev ........... for X11/extensions/Xrandr.h
Sudo apt-get install libxi-dev ................... X11/extensions/XInput.hの場合

その後、glsdk_0.4.4と例を問題なくビルドできました。

27
Bob Smith

アンドリュー・ホワイトの答えはあなたを感動させるのに十分です。初心者向けの段階的な手順を次に示します。

簡単な始め方:

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;
}

(ソース:LinuxGazette)

試してください:g++ test.cpp -lX11a.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の新規インストールを使用してテスト済み

7
Stokes

find /usr/include/X11 -name Xlib.hを試してみませんか

ヒットがある場合、Xlib.hがあります。

Sudo apt-get install libx11-devを使用してインストールしない場合

そして、あなたは行ってもいいです:)

3
Zohaib Amanzai