簡體   English   中英

在 Ubuntu 中找不到 X11/Xlib.h

[英]X11/Xlib.h not found in Ubuntu

我試圖在 linux 上使用 open gl 編寫一個相當簡單的程序,但在編譯時它說:

編譯拇指: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 完全陌生,不知道出了什么問題。

使用...快速搜索

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 ..... 用於X11/Xlib.h
sudo apt-get install mesa-common-dev ........ 用於GL/glx.h
sudo apt-get install libglu1-mesa-dev ..... 用於GL/glu.h
sudo apt-get install libxrandr-dev ........... 用於X11/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;
}

(來源:LinuxGazette)

嘗試: 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安裝它

你很高興去:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM