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

C++ Discussion :

Problème Makefile g++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de donkeyquote
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 195
    Par défaut Problème Makefile g++
    Bonjour,
    Je suis en train d'utiliser un librairie partagée (.so) pour le développement d'une appli C++.
    Mon problème c'est que pour le Makefile que j'ai recupéré je ne suis pas capable de faire ce que je voudrais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #ça c'est ok pour la créartion de l'objet
    g++ -I/usr/include/mysql -I/usr/include/mysql++ -I/usr/lib -O0 -c simple2.cpp
     
    #ça ce n'est pas ok 
    g++ -L/usr/lib   /simple2.o -o simple2 -lmysqlclient -lmysqlpp
    g++: /simple2.o: No such file or directory
    Je voudrais obtenir pour la deuxième instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #ça ce n'est pas ok 
    g++ -L/usr/lib simple2.o -o simple2 -lmysqlclient -lmysqlpp
    Mon makefile est :
    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
     
    CXX=g++
    INCLUDES=-I/usr/include/mysql -I/usr/include/mysql++ -I/usr/lib
    CXXFLAGS=$(INCLUDES) -O0 -c
     
    LD=$(CXX)
    LDFLAGS=-L/usr/lib
    LDEXEFLAG=-o 
    LIBS=-lmysqlclient -lmysqlpp
     
    DEL=rm -f
     
    .SUFFIXES: .cpp .o
    .cpp.o:
    	$(CXX) $(CXXFLAGS) $<
     
    define mk-objlist
    	$(foreach O,$1,\
    		$(if $(findstring $(BIN_DIR)/,$(O)),$(O),$(BIN_DIR)/$(O)))
    endef
     
    ifndef BIN_DIR
    	BIN_DIR=.
    endif
     
    BINARIES=simple2
     
    SIMPLE1_OBJS=simple2.o
     
    all debug: $(BINARIES)
     
    .PHONY: release
    release:
    	$(MAKE) BIN_DIR=release
     
    clean:
    	$(RM) $(LOCAL_CLEAN)
     
     
    simple2: $(SIMPLE1_OBJS)
    	$(LD) $(LDFLAGS) $(call mk-objlist,$^) $(LDEXEFLAG)$@ $(LIBS)
     
     
    simple2.o: simple2.cpp
    Peut quelqu'un me donner un coup de main avec ça ?

    Merci !!

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Par défaut
    Hello,

    J'ai pas trop pour habitude de travailler avec les instructions ifdef et define dans les makefile, donc peut-être que ce que je vais dire ne changera rien, mais as-tu essayé de placer la définition conditionnelle de BIN_DIR avant la définition de mk-objlist ?

  3. #3
    Membre confirmé Avatar de donkeyquote
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 195
    Par défaut
    Ca marche pas ...

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pas certain que ça :
    soit bon...
    Sans cette ligne, ça donne quoi ? Parce que ça dit que tu crées une règle maison pour créer simple2.o sans passer par la règle implicite, et comme ça ne génère rien...

Discussions similaires

  1. Problème Makefile Lex/Yacc
    Par tagsOf dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 13/04/2009, 11h02
  2. Problème makefile + librairie
    Par Wakko dans le forum C
    Réponses: 1
    Dernier message: 27/06/2008, 20h44
  3. [Qt][Import DLL] Problème Makefile / .pro
    Par Gulish dans le forum Qt
    Réponses: 11
    Dernier message: 21/02/2008, 10h00
  4. [QT][Import DLL] Problème Makefile / .pro
    Par Gulish dans le forum Windows
    Réponses: 1
    Dernier message: 19/02/2008, 09h56
  5. [Débutant]Encore problème Makefile
    Par Clark dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 31/05/2006, 16h06

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