OpenGL Superbible 5th edの第15章で説明されているように、C++アプリでGLEWとXServer/X11を使用しようとしています。
私はこのMakefileを使用しています:
LIBDIRS = -L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib
INCDIRS = -I/usr/include -L/usr/include
CC = g++
CFLAGS = $(COMPILERFLAGS) -g $(INCDIRS)
LIBS = -lX11 -lXi -lXmu -lm -lGLEW -lGLU -lGL
GLXBasics: GLXBasics.o
$(CC) $(CFLAGS) -o GLXBasics $(LIBDIRS) GLXBasics.cpp $(LIBS)
clean:
rm -f *.o
そして、この結果を得る:
GLXBasics.cpp:4:18: fatal error: glew.h: No such file or directory
[編集:]愚かなコーディングエラーを修正した後、X11で問題が発生しました。GLEWの問題は過去のものです。
/usr/bin/ld: cannot find -lXi
/usr/bin/ld: cannot find -lXmu
[/編集]
glew.h
のインクルードをコメントアウトすると、glxew.h
のインクルードに失敗します。
glew.h
とglxew.h
を/usr/include/GL
にSudoコピーして貼り付けました。 (私は彼らがいるはずだと思う場所はどこですか?)
質問に何かを含めるのを忘れてしまった場合はご容赦ください。あなたが知りたいことや私の端末から見たいことは何でも聞いてください。
GLXBasics.cpp:4:18: fatal error: glew.h: No such file or directory
下の行のような行があると思いますか?
#include <glew.h>
それを変更する
#include <GL/glew.h>
INCDIRS
で指定された検索パスのGL/
サブディレクトリにコピーしたため、これは必須です。
glew.h
とglxew.h
を/usr/include/GL
にSudoコピーして貼り付けました
Ubuntuパッケージとの競合を避けるため、/usr/local/include/GL
を使用することをお勧めします。
私は現在X11で問題を抱えており、GLEWの問題は歴史的なものです。
/usr/bin/ld: cannot find -lXi /usr/bin/ld: cannot find -lXmu
彼らは
/usr/local/include
にいるから?
このエラーは、ヘッダーに関するものではなく、ライブラリ(バイナリ)に関するものです。手動でインストールする場合は、/usr/local/lib
(ヘッダーファイル用)ではなくinclude/
に配置する必要があります。または、ここでX開発パッケージが欠落しているだけですか?これがヘッダーファイルとは関係ない場合は、新しい質問でこれを尋ねてください。
INCDIR
およびLIBDIR
を更新して、新しい/usr/local/include
ディレクトリを含めることを忘れないでください。例:
INCDIRS = -I/usr/include -L/usr/include -I/usr/local/include -L/usr/local/include