raver
Registrado: 28 Nov 2008 Mensajes: 1
| Publicado: 28/11/2008 1:45 am | | | Título: Problema make con .h externos |
| Saludos ! Me presento en este foro, espero que este no sea mi unico mensaje y que pueda aportar mi experiencia para apoyar un poco a todo el mundo  P
Estoy intentando compilar un proyecto que estoy haciendo con OGRE en linux. Para ello me he hecho un makefile partiendo de tutoriales mas algunos que tenia de ejemplo. Para este caso necesito incluir las librerias OGRE, CEGUI y OIS que en mi distribucion estan en /usr/include/OGRE, /usr/include/CEGUI y /usr/include/OIS (dentro de estas carpetas solo se encuentras los .h necesarios).
Al ejecutar make no me da ningun error del propio make, pero si error del compilador, me indica basicamente el tipico error de "undefined reference to" a las librerias OGRE CEGUI y OIS.
Por lo contrario, parece ser que si que detecta correctamente los includes que tengo en el fichero /../inc/
Aqui os dejo mi makefile
| Código: | HOME = ..
TARGETS = $(FRAMEWORK)
OBJECTS = $(OBJFRAMEWORK)
############################### # esto es general
CPP = g++
incdir1 = $(HOME)/inc incdir2 = /usr/include/OGRE incdir3 = /usr/include/CEGUI incdir4 = /usr/include/OIS
SRC= $(HOME)/src OBJ = $(HOME)/obj bindir=$(HOME)/bin
INCLUDES = -I$(subst :, -I,$(incdir4)) -I$(incdir3) -I$(incdir2) -I$(incdir1)
CPPFLAGS = -g -O3
########################################## # PRUEBA
FRAMEWORK = framework OBJFRAMEWORK = main.o application.o escenari.o demo1.o inputHandler.o particleSManager.o sortidor.o
installframework: $(bindir)/$(FRAMEWORK) $(bindir)/framework: $(OBJ)/framework -rm $(bindir)/framework cp -p $(OBJ)/framework $(bindir)/framework
framework: $(OBJ)/framework
$(OBJ)/framework: $(addprefix $(OBJ)/, $(OBJFRAMEWORK)) $(CPP) $(INCLUDES) $(CPPFLAGS) -o $(addprefix $(OBJ)/,$(FRAMEWORK)) $(addprefix $(OBJ)/, $(OBJFRAMEWORK))
######################################### # reglas generales
$(OBJ)/%.o : %.cpp $(CPP) -c $(INCLUDES) $(CPPFLAGS) $< -o $@
.PHONY: framework
all: directorios $(TARGETS)
clean: -rm $(TARGETS) -rm $(OBJ)/*.o
cleanall: clean
build: clean all
install: $(subst $(OBJ),$(bindir),$(TARGETS))
directorios: @if [ ! -d $(bindir) ]; then mkdir $(bindir); fi @if [ ! -d $(OBJ) ]; then mkdir $(OBJ); fi
|
Gracias por todo ! |
|