Bonjour,
J'aimerais utiliser les autotools, mais je ne sais pas comment résoudre le problème suivant à la compilation :
/home/vincent/oe_dir3/sdk-oecore/sysroots/armv5te-oe-linux-gnueabi/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
Je souhaiterais inclure le dossier freetype2 présent dans include. Dois-je éditer le Makefile.am des sources avec une macro INCLUDE ?
Avant dans mon Makefile je faisais :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| ...
INCLUDE_PATH=$(SDK_PATH)/$(TARGET_SYS)/usr/include/libxml2
INCLUDE_PATH2=$(SDK_PATH)/$(TARGET_SYS)/usr/include/freetype2
LIBRARY_PATH=$(SDK_PATH)/$(TARGET_SYS)/usr/lib
...
COMPIL_IMX=\
@echo \@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;\
echo \Compiling... $<;\
$(CC) -I$(INCLUDE_PATH) -I$(INCLUDE_PATH2) -I$(INCLUDE_PROJECT_PATH) $(PARAMS) \
$(CFLAGS) $@ $<
LINK_IMX=\
@echo \@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;\
echo \Linking... $<;\
$(LD) -L$(LIBRARY_PATH) $(LIBFLAGS) $(PARAMS) $(LFLAGS) $(BIN_DIR)/$@ $(OBJ_DIR)/$@.o $(OBJ) |
Mais il y a peut-être une manière d'éviter le recours aux chemins absolus...
EDIT: la mauvaise solution, ajout dans le Makefile.am des paramètres -I :
AM_CFLAGS = --pedantic -Wall -std=c99 -O0 -I /home/vincent/oe_dir3/sdk-oecore/sysroots/armv5te-oe-linux-gnueabi/usr/include/freetype2 -I /home/vincent/oe_dir3/sdk-oecore/sysroots/armv5te-oe-linux-gnueabi/usr/include/libxml2
Makefile d'origine :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| all:: attente controle escargot plannification tacheSon
$(OBJ_DIR)/commun.o: ./src/commun.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/gestion_son.o: ./src/gestion_son.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/interface_son.o: ./src/interface_son.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/parametres.o: ./src/parametres.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/queues.o: ./src/queues.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/AIo.o: ./src/AIo.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/AXml.o: ./src/AXml.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/exception.o: ./src/exception.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/filetools.o: ./src/filetools.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/myLib.o: ./src/myLib.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/timestamp.o: ./src/timestamp.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/plateforme.o: ./src/plateforme.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/protocole_affichageIzarra.o: ./src/protocole_affichageIzarra.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/protocole_comm.o: ./src/protocole_comm.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/protocoleRadio.o: ./src/protocoleRadio.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/PortComm.o: ./src/PortComm.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/police.o: ./src/police.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/carte_LED.o: ./src/carte_LED.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/attente.o: ./src/attente.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/controle.o: ./src/controle.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/plannification.o: ./src/planification.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/tacheSon.o: ./src/programmes/tacheSon.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/jeu.o: ./src/programmes/jeu.c $(INC)
$(COMPIL_IMX)
$(OBJ_DIR)/escargot.o: ./src/programmes/escargot.c $(INC)
$(COMPIL_IMX) |
Là où j'en suis pour le Makefile.am de src :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| # what flags you want to pass to the C compiler & linker
AM_CFLAGS = --pedantic -Wall -std=c99 -O0 -I /home/vincent/oe_dir3/sdk-oecore/sysroots/armv5te-oe-linux-gnueabi/usr/include/freetype2 -I /home/vincent/oe_dir3/sdk-oecore/sysroots/armv5te-oe-linux-gnueabi/usr/include/libxml2 -I . -I ./src
# -I /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/freetype2
#AM_LDFLAGS =
# this lists the binaries to produce, the (non-PHONY, binary) targets in
# the previous manual Makefile
#bin_PROGRAMS = commun gestion_son interface_son parametres queues AIo AXml filetools myLib timestamp plateforme protocole_affichageIzarra protocole_comm protocoleRadio PortComm police carte_LED attente controle plannification tacheSon test jeu escargot testDallesRadio testCapteurs
bin_PROGRAMS = attente controle plannification tacheSon test jeu escargot testDallesRadio testCapteurs
#commun_SOURCES = commun.c commun.h
#gestion_son_SOURCES = gestion_son.c gestion_son.h
#interface_son_SOURCES = interface_son.c interface_son.h
#parametres_SOURCES = parametres.c parametres.h
#queues_SOURCES = queues.c queues.h
#AIo_SOURCES = AIo.c AIo.h
#AXml_SOURCES = AXml.c AXml.h
#filetools_SOURCES = filetools.c filetools.h
#myLib_SOURCES = myLib.c myLib.h
#timestamp_SOURCES = timestamp.c timestamp.h
#plateforme_SOURCES = plateforme.c plateforme.h
#protocole_affichageIzarra_SOURCES = protocole_affichageIzarra.c protocole_affichageIzarra.h
#protocole_comm_SOURCES = protocole_comm.c protocole_comm.h
#protocoleRadio_SOURCES = protocoleRadio.c protocoleRadio.h
#PortComm_SOURCES = PortComm.c PortComm.h
#police_SOURCES = police.c police.h
#carte_LED_SOURCES = carte_LED.c carte_LED.h
attente_SOURCES = attente.c attente.h commun.h
controle_SOURCES = controle.c controle.h
plannification_SOURCES = plannification.c plannification.h
tacheSon_SOURCES = tacheSon.c tacheSon.h
test_SOURCES = test.c test.h
jeu_SOURCES = jeu.c jeu.h
escargot_SOURCES = escargot.c escargot.h
testDallesRadio_SOURCES = testDallesRadio.c testDallesRadio.h
testCapteurs_SOURCES = testCapteurs.c testCapteurs.h |
J'ai toujours des problèmes d'inclusion :
1 2
| attente.o: In function `arret':
/home/vincent/eclipseProjects/sensigom_2014-05-001_dev_parcours_BogueControle_BogueAffMenuCtrl_oe/src/attente.c:18: undefined reference to `trace_erreur' |
avec trace_erreur() défini dans commun
Merci pour les courageux qui ont lu mon charabia
Partager