Bonjour je souhaite faire un makefile qui peut prendre en charge aussi bien la génération d"executable que de librairies.
Mais voilà, il me génère bien les executable parcontre quand je l'appel pour les libs il ne veux plus rien savoir.
Il me faire comme erreur:
root@Toolchain:/.... # make lib
/home/user/Documents/.../arm/arm-2012.03/bin/arm-none-linux-gnueabi-g++ -O0 -Wall -c -fmessage-length=0 ConfigManager.cpp -W -Wall
In file included from ConfigManager.cpp:8:0:
include/ConfigManager.h:12:32: fatal error: boost/filesystem.hpp: No such file or directory
compilation terminated.
make: *** [ConfigManager.o] Error 1
Voilà le code:
la cible librairie ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 # variables à modifier pour personaliser la compilation -include /home/user/Documents/.../JenkinsBash/MakeLibs/$(JOB_NAME)Make CC=/home/user/Documents/.../arm/arm-2012.03/bin/arm-none-linux-gnueabi-g++ LDFLAGS= $(LIBSDIRECTORIES) $(LIBS) CXXFLAGS= -W -Wall $(INCLUDE) EXEC=$(JOB_NAME) SRC= $(wildcard *.cpp) HEADERS= include/$(wildcard *.hpp) include/$(wildcard *.h) OBJ= $(SRC:.cpp=.o) # à mettre à vide si on veut paramétrer les dépendances pour chaque source DEPENDENCY_FOR_ALL= $(HEADERS) # cible : executable all: $(EXEC) # génération de l'exécutable $(EXEC): $(OBJ) $(CC) -o $@ $^ $(LDFLAGS) # génération des fichiers .o %.o: %.cpp $(DEPENDENCY_FOR_ALL) $(CC) -o $@ -c $< $(CXXFLAGS) # il est possible de paramétrer les dépendances pour chaque fichier source si DEPENDENCY_FOR_ALL est vide #quelques actions de base .PHONY: clean mrproper lib # cible : librairies lib: lib$(EXE).so #génération de librairies lib$(EXE).so: $(OBJ) $(CC) -shared -o $(LDFLAGS) # génération des fichiers .o %.o: %.cpp $(DEPENDENCY_FOR_ALL) $(CC) -O0 -Wall -c -fmessage-length=0 $< $(CXXFLAGS) clean: rm -rf *.o mrproper: clean rm -rf $(EXEC)
Si vous avez une idée de ce qui ne va pas dans mon make.
Merci à vous
Partager