IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Systèmes de compilation Discussion :

Makefile prb génération .so


Sujet :

Systèmes de compilation

  1. #1
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut Makefile prb génération .so
    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:
    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)
    la cible librairie ne marche pas
    Si vous avez une idée de ce qui ne va pas dans mon make.
    Merci à vous

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    il te dit qu'il ne trouve pas boost/filesystem.h. Installe "libboost-filesystem-dev"
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut
    Yop,

    Je te remercie, en faite j'avais un problème dans la redirection de mes variables (se trouvant sur un autre fichier) pour indexer mes includes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Box2D] Génération des Makefiles avec CMake
    Par LittleWhite dans le forum Physique
    Réponses: 2
    Dernier message: 26/01/2011, 23h18
  2. Génération d'un makefile
    Par Mindiell dans le forum Code::Blocks
    Réponses: 4
    Dernier message: 30/05/2010, 18h05
  3. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 11h30
  4. Prb de fonctionnement dans SaveDialog avecInitialDir
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/12/2002, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo