Я пытаюсь использовать GLEW и XServer / X11 в приложении C++, как проинструктировано в Главе 15 Супербиблии OpenGL, 5-го редактора.
Я использую этот Make-файл:
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
.
Я sudo-скопировал и вставил glew.h
и glxew.h
кому: /usr/include/GL
. (Который является, где я полагаю, что они, как предполагается?)
Простите мне в случае, если я забыл включать что-то в свой вопрос - что-либо, что требуется знать или видеть от моего терминала, просто спрашивают.
GLXBasics.cpp:4:18: fatal error: glew.h: No such file or directory
Я предполагаю, что у Вас есть строка там с чем-то как строка ниже?
#include <glew.h>
Изменение это к
#include <GL/glew.h>
Это требуется, поскольку Вы скопировали его в GL/
подкаталог путей поиска, указанных в Вашем INCDIRS
.
Я sudo-скопировал и вставил
glew.h
иglxew.h
кому:/usr/include/GL
Я рекомендовал бы использовать /usr/local/include/GL
поскольку это избежит конфликтов с пакетами Ubuntu.
Я теперь испытываю затруднения из-за 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