Problema make con .h externos

Dudas sobre los distintos compiladores C/C++ en Linux
Responder
Mensaje
Autor
raver
Mensajes: 1
Registrado: 28/11/2008 1:37 am

Problema make con .h externos

#1 Mensaje por raver » 28/11/2008 1:45 am

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:PP

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: Seleccionar todo

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 !

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado