/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problema make con .h externos

 
      Índice del Foro elrincondelc.com -> Linux
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
raver



Registrado: 28 Nov 2008
Mensajes: 1

MensajePublicado: 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 RazzRazzP

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 !
Volver arriba
      Índice del Foro elrincondelc.com -> Linux
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com