2011-02-05 9 views
1

Я только что открыл FLTK, и я сделал makefile для своего теста. Вот мой Makefile:Как мне связать с GLU?


################ 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 [email protected] MyWindow.o main.o $(LINKFLTK_IMG) $(LINKFLTK_GL) 
     $(STRIP) [email protected] 
     $(POSTBUILD) [email protected]  # only required on OSX, but call it anyway for portability 

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

(Heres код объектный файл :)

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

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: * [MyWindow.o] Error 1 
(код не имеет значения)

ответ

0

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

0

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

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

+0

Почему «overkill»? Более серьезные проекты используют тонны разделяемых библиотек ... Проверяйте какое-либо приложение на основе альтернативного инструментария GUI, сколько общих библиотек оно связано с ... – DejanLekic

 Смежные вопросы

  • Нет связанных вопросов^_^