Как мне связаться с GLU? - PullRequest
       33

Как мне связаться с GLU?

1 голос
/ 05 февраля 2011

Я только что обнаружил FLTK и сделал make-файл для своего теста.Вот мой make-файл:


################ template makefile ##############
# We don't know what compiler to use to build fltk on this machine - but fltk-config does...
CC  = $(shell fltk-config --cc)
CXX = $(shell fltk-config --cxx)

# Set the flags for compiler: fltk-config knows the basic settings, then we can add our own...
CFLAGS   = $(shell fltk-config --cflags)
CXXFLAGS = $(shell fltk-config --cxxflags) -I/System/Library/Frameworks/OpenGL.framework/Versions/A/

# We don't know what libraries to link with: fltk-config does...
LINKFLTK = $(shell fltk-config --ldstaticflags)
LINKFLTK_GL = $(shell fltk-config --use-gl --ldstaticflags) -lGLU
LINKFLTK_IMG = $(shell fltk-config --use-images --ldstaticflags)

# Possible steps to run after linking...
STRIP      = strip
POSTBUILD  = fltk-config --post # Required on OSX, does nothing on other platforms, so safe to call
TARGET     = CompletedFile

# Define what your target application is called
all: $(TARGET)

# Define how to build the various object files... -snip-

# Now define how to link the final app - let's assume it needs image and OpenGL support
$(TARGET): MyWindow.o main.o 
        $(CXX) -o $@ MyWindow.o main.o  $(LINKFLTK_IMG) $(LINKFLTK_GL)
        $(STRIP) $@
        $(POSTBUILD) $@  # only required on OSX, but call it anyway for portability

############### end #################

(Вот код файла объекта:)

main.o: main.cpp MyWindow.h main.h 
        $(CXX) -c $< \
            $(CXXFLAGS)</p>

<p>MyWindow.o: MyWindow.cpp MyWindow.h
        $(CXX) -c $< \
            $(CXXFLAGS)
Вот ошибка, которую он мне дает:
In file included from MyWindow.cpp:10:
MyWindow.h:14:20: error: GL/glu.h: No such file or directory
MyWindow.cpp: In member function ‘virtual void MyWindow::draw()’:
MyWindow.cpp:49: error: ‘gluPerspective’ was not declared in this scope
make: <em>*</em> [MyWindow.o] Error 1
(Код не имеет значения)

Ответы [ 2 ]

0 голосов
/ 25 марта 2011

В зависимости от используемой вами версии fltk, она имеет свои собственные заголовки openGL.Я добавляю следующие строки в мои подключаемые библиотеки: -lfltk -lfltk_gl -lGL -lGLU

Избыток, но он выполняет свою работу.

0 голосов
/ 06 февраля 2011

Компилятор не может найти ваш заголовок GLU.h. Отрегулируйте переключатель #include или -I , чтобы он указывал на правильное местоположение.

...