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 dans une librairie dynamique *.so sous linux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Par défaut problème dans une librairie dynamique *.so sous linux
    bonjour
    je m'excuse si ma question vous dérange
    je travaille sur un code développer en c++ qui bien marché sur mac os ,ce code va permettre de crée des librairies *.so à partir des *.cc et *.h j'ai utilisé pour cela comme flags:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CXXFLAGS = -g -O2 -fPIC -Wall -ldl -D_GNU_SOURCE ,CXX := g++ et $(CXX)-shared -o $(LIBNAME) $(CLIBLIB) $(OUT_OBJS) cette étape est bien passé j'ai obtenu les *.so comme suit :
    morad@linux-nzlc:~/Musique/workdir> ls library/tklibs/lib/
    libAnalyticalJacobians.so libDetGeometry.so libGeomPropagators.so libPatternTestTools.so libSmearingClusterizers.so libTkLayout.so
    libBaseMagneticField.so libDetLayout.so libKalmanUpdators.so libPatternTools.so libStatUtilities.so libTkNavigation.so
    libBasicDet.so libDetUtilities.so libMaterialEffects.so libPropagators.so libSurfaceGeometry.so libTrackFitters.so
    libBasicStripDet.so libDetVolumeGeometry.so libNumericalJacobians.so libRKPropagators.so libTkCommonDet.so libTrajectoryParametrization.so
    libCommonStripDet.so libGenUtil.so libPatternPrimitives.so libSiPixelDet.so libTkFastSimHit.so libUI.so
    morad@linux-nzlc:~/Musique/workdir> ./libScript.py
    ensuite la deuxième étape je voudrais crée l’exécutable pour cela j'ai spécifie les -I,-L et -l dans le makfile j'ai comme une flags :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CXX = g++ et $(CXX) -O2 -g -fopenmp $(CILIBLAY) $(OUT_OBJS) $(OBJDIR)/$(MAIN_PROG).o -o $(MAIN_PROG).exe
    mais avec ça après l’exécution j'obtiens une erreur :

    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
    morad@linux-nzlc:~/Musique/workdir/layout/analyze> make mainP=runAnalyze
    Makefile:85: /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d: Aucun fichier ou dossier de ce type
    g++ -MM -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs -I/cern/ROOT/source/root/include -I/usr/include/freetype2/freetype/ -I/usr/include/freetype2 -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/ myAnalyze.cc > /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$; \
    sed 's,\(myAnalyze\)\.o[ :]*,\1.o /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d : ,g' < /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$ > /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d; \
    rm -f /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$
    g++ -c -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs -I/cern/ROOT/source/root/include -I/usr/include/freetype2/freetype/ -I/usr/include/freetype2 -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/ myAnalyze.cc -o /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.o 
    g++ -c -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs -I/cern/ROOT/source/root/include -I/usr/include/freetype2/freetype/ -I/usr/include/freetype2 -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/ runAnalyze.cxx -o /home/morad/Musique/workdir/layout/build/analyze/runAnalyze.o
    g++ -O2 -g -fopenmp -L/home/morad/Musique/workdir/library/tklibs/lib -L/home/morad/Musique/workdir/layout/lib -lxmlgeom -ltrack -lcross -lMaterialEffects -lPropagators -ltracking -lgeom -lStatUtilities -lAnalyticalJacobians -ltkhist -lxmltkgeom -lutils -lopt -ldraw -lanalyze -L/usr/lib -lGeomPropagators -lPatternPrimitives -lSurfaceGeometry -lBaseMagneticField -lUI -lGenUtil -lSiPixelDet -lSmearingClusterizers -lBasicDet -lTrackFitters -lTkFastSimHit -lCommonStripDet -lDetLayout -lTkLayout -lDetGeometry -lKalmanUpdators -lTkCommonDet -lPatternTools -lTrajectoryParametrization -lBasicStripDet -lDetUtilities -lDetVolumeGeometry -lPatternTestTools -lRKPropagators -lTkNavigation -lNumericalJacobians -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lglib-2.0 -L/cern/ROOT/source/root/lib -L/cern/Minuit2/5.28.00/lib -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lfreetype -lz /usr/lib/libbz2.so.1.0.6 -lpthread -lm -ldl -lMinuit2 -L/cern/CLHEP/2.0.4.5/lib/ -lCLHEP-2.0.4.5 /usr/lib/libstdc++.so.6 /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.o /home/morad/Musique/workdir/layout/build/analyze/runAnalyze.o -o runAnalyze.exe
    /home/morad/Musique/workdir/library/tklibs/lib/libSmearingClusterizers.so: undefined reference to `TrivialROUSetter::set(Module)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FixTIDTopology::recreateTopologies()'
    /home/morad/Musique/workdir/library/tklibs/lib/libSmearingClusterizers.so: undefined reference to `TkDetTypeName::shortName(DetType const&)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `DetUnitGluer::glue(__gnu_cxx::__normal_iterator<D etUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkFastSimHit.so: undefined reference to `RawHepEventFactoryFromGun::RawHepEventFactoryFrom Gun()'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `toa:perator()(int const&) const'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FixTIDTopology::FixTIDTopology()'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `DetBlade:etBlade(__gnu_cxx::__normal_iterator<D et* const*, std::vector<Det*, std::allocator<Det*> > >, __gnu_cxx::__normal_iterator<Det* const*, std::vector<Det*, std::allocator<Det*> > >)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `toa::~toa()'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FullTracker::instance()'
    collect2: erreur: ld a retourné 1 code d'état d'exécution
    make: *** [runAnalyze] Erreur 1
    morad@linux-nzlc:~/Musique/workdir/layout/analyze>
    ce qui non défini dans *.so par exemple TrivialROUSetter est seulement déclaré dans un fichier .h il est n'est pas défini dans .cc j'ai l'intuition que le compilateur g++ pour l'opensuse a besoin d'une flags pour n'est chercher les définitions des includes *.h que s'il est necessaire contrairement au g++ pour mac-os
    merci d'avance

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    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 202
    Par défaut
    Bonjour,
    il se plaint que tu n'as pas de *.d, essaie un make depends, make dependencies ou autre.

    Regarde si tu as une cible qui ressemble à cela dans ton makefile

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Par défaut
    merci pour cette motivation
    les dépendances n'a pas d'influence ici , maintenant je dit que j'ai déjà poser ma complexe problème dans un autre forum http://www.cplusplus.com/forum/unices/101797/ je vais poser mon MAKFILE afin de trouver une indication de ce problème:
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     # this Makefile compiles all the *.cc files in the current directory
    # It generates the dependencies automatically, following the example at
    # info:/make/Automatic Prerequisites
    # names of cc files without suffixe
    # -------------
    # The Prerequisites and object files will be writen in objfiles
    #---------------
     
     
    OBJDIR := /home/morad/Musique/workdir/layout/build/analyze
    sources := $(wildcard *.cc)
     
    BASENAMES_FILES = $(basename $(sources)) 
    objfiles = $(addsuffix .d,$(BASENAMES_FILES))
    OUT_OBJS = $(addprefix $(OBJDIR)/,$(objfiles))
     
     
    objfiles := $(addsuffix .o,$(BASENAMES_FILES))
    OUT_OBJS := $(addprefix $(OBJDIR)/,$(objfiles))
     
    # include and libs paths paths 
    CLHEPDIR_INC  := -I/cern/CLHEP/2.0.4.5/include/
     
    CLHEPDIR_LIB  := -L/cern/CLHEP/2.0.4.5/lib/
     
    CLHEPDIR_LIBS := -lCLHEP-2.0.4.5
     
    LOCALINC      := -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs 
     
    ALPINEDIR_INC := -I/home/morad/Musique/workdir/library/tklibs
     
    ALPINEDIR_LIB := -L/home/morad/Musique/workdir/library/tklibs/lib -L/home/morad/Musique/workdir/layout/lib  -lxmlgeom -ltrack -lcross -lMaterialEffects -lPropagators -ltracking -lgeom -lStatUtilities -lAnalyticalJacobians -ltkhist -lxmltkgeom -lutils -lopt -ldraw -lanalyze
     
    ALPINEDIR_LIBS:= -lTkLayout -lDetGeometry -lKalmanUpdators  -lDetVolumeGeometry -lPatternTestTools -lRKPropagators -lTkCommonDet -lPatternTools -lTrajectoryParametrization -lBasicStripDet -lDetUtilities -lBasicDet -lGeomPropagators -lPatternPrimitives -lSurfaceGeometry -lBaseMagneticField -lUI -lGenUtil -lSiPixelDet -lSmearingClusterizers -lTrackFitters -lTkFastSimHit -lCommonStripDet -lDetLayout  -lTkNavigation -lNumericalJacobians 
     
    ROOTDIR_INC   := -I/cern/ROOT/source/root/include  -I/usr/include/freetype2/freetype/  -I/usr/include/freetype2 
     
    ROOTDIR_LIB   := -L/cern/ROOT/source/root/lib  /usr/lib/libX11.so
     
    ROOTDIR_LIBS  := -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix\
    		 -lPhysics -lMathCore -lThread -lfreetype -lz  /usr/lib/libbz2.so.1.0.6  -pthread -Wl,-rpath,/cern/ROOT/source/root/lib -lpthread  -lm -ldl
     
    XMLDIR_INC    := -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/    
    XMLDIR_LIB    := -L/usr/lib
     
    XMLDIR_LIBS   := -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lglib-2.0  /usr/lib/preloadable_libintl.so
     
    MINUITDIR_INC := -I/cern/Minuit2/5.28.00/include
    MINUITDIR_LIB := -L/cern/Minuit2/5.28.00/lib
    MINUITDIR_LIBS := -lMinuit2 
    #CPPPATH := 
    CILIBLAY = $(ALPINEDIR_LIB)  $(XMLDIR_LIB)  $(ALPINEDIR_LIBS) $(XMLDIR_LIBS) $(ROOTDIR_LIB) $(MINUITDIR_LIB) $(ROOTDIR_LIBS) $(MINUITDIR_LIBS) $(CLHEPDIR_LIB) $(CLHEPDIR_LIBS)  /usr/lib/libstdc++.so.6 /lib/libutil-2.15.so /lib/libSegFault.so
    CINCLAY =  $(CLHEPDIR_INC) $(LOCALINC) $(ROOTDIR_INC) $(MINUITDIR_INC) $(XMLDIR_INC)    
     
    MAIN_PROG = $(mainP)
     
    #CXXFLAGS = -g -O2 -fPIC -Wall -D_GNU_SOURCE 
     
    CXXFLAGS =-m32 
    #-m32 -fPIC -Wall -D_GNU_SOURCE
    CXX = g++ 
    #-D_GNU_SOURCE 
     
    $(OBJDIR)/%.d: %.cc
    	$(CXX) -MM $(CXXFLAGS) $(CINCLAY)  $< > $@.$$$$; \
    	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
    	rm -f $@.$$$$
     
    #objfiles := $(addsuffix .o,$(BASENAMES_FILES))
    #OUT_OBJS := $(addprefix $(OBJDIR)/,$(objfiles))
     
    all: $(MAIN_PROG)
     
    $(OBJDIR)/$(MAIN_PROG).o : $(MAIN_PROG).cxx
    	$(CXX) -c -g $(CXXFLAGS) $(CINCLAY) $< -o $@
     
    $(MAIN_PROG) : $(OUT_OBJS) $(OBJDIR)/$(MAIN_PROG).o
    #	@echo "---- " $(CILIBLAY)
    	$(CXX) -fopenmp  $(CILIBLAY)  $(OUT_OBJS)  $(OBJDIR)/$(MAIN_PROG).o -o $(MAIN_PROG)
    #-undefined dynamic_lookup
    $(OBJDIR)/%.o : %.cc 
    	$(CXX) -c -g $(CXXFLAGS) $(CINCLAY)  $< -o $@  
     
    include $(sources:%.cc=$(OBJDIR)/%.d)
     
    clean :
    	rm $(OBJDIR)/*.d $(OBJDIR)/*.o $(LIBNAME)

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    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 202
    Par défaut
    Essaie la commande "make all".

    Avec make, en l'absence de cible explicite, c'est la premiere qui est exécutée.

    Ici, ce n'est pas "all: $(MAIN_PROG)", mais "$(OBJDIR)/%.d: %.cc"

    la correction est de déplacer le "all: $(MAIN_PROG)" pus haut (ici le mettre en ligne 63)

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 13
    Par défaut
    merci pour cette réponse , j'ai déplacé cette commande vers la ligne 63 mais après la compilation j'ai obtenu:
    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
    morad@linux-nzlc:~/Musique/workdir/layout/analyze> make mainP=runAnalyze
    Makefile:79: /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d: Aucun fichier ou dossier de ce type
    g++  -MM -m32  -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs  -I/cern/ROOT/source/root/include  -I/usr/include/freetype2/freetype/  -I/usr/include/freetype2  -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/          myAnalyze.cc > /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$; \
    sed 's,\(myAnalyze\)\.o[ :]*,\1.o /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d : ,g' < /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$ > /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d; \
    rm -f /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.d.$$
    g++  -c -g -m32  -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs  -I/cern/ROOT/source/root/include  -I/usr/include/freetype2/freetype/  -I/usr/include/freetype2  -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/          myAnalyze.cc -o /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.o  
    g++  -c -g -m32  -I/cern/CLHEP/2.0.4.5/include/ -I/home/morad/Musique/workdir/layout -I/home/morad/Musique/workdir/library/tklibs  -I/cern/ROOT/source/root/include  -I/usr/include/freetype2/freetype/  -I/usr/include/freetype2  -I/cern/Minuit2/5.28.00/include -I/usr/include/libxml2 -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include/ -I/usr/include/sigc++-2.0/ -I/usr/lib/sigc++-2.0/include/ -I/usr/include/glib-2.0/ -I/usr/lib/glib-2.0/include/ -I/cern/gettext/0.18.2/include/         runAnalyze.cxx -o /home/morad/Musique/workdir/layout/build/analyze/runAnalyze.o
    g++  -fopenmp  -L/home/morad/Musique/workdir/library/tklibs/lib -L/home/morad/Musique/workdir/layout/lib  -lxmlgeom -ltrack -lcross -lMaterialEffects -lPropagators -ltracking -lgeom -lStatUtilities -lAnalyticalJacobians -ltkhist -lxmltkgeom -lutils -lopt -ldraw -lanalyze  -L/usr/lib  -lTkLayout -lDetGeometry -lKalmanUpdators  -lDetVolumeGeometry -lPatternTestTools -lRKPropagators -lTkCommonDet -lPatternTools -lTrajectoryParametrization -lBasicStripDet -lDetUtilities -lBasicDet -lGeomPropagators -lPatternPrimitives -lSurfaceGeometry -lBaseMagneticField -lUI -lGenUtil -lSiPixelDet -lSmearingClusterizers -lTrackFitters -lTkFastSimHit -lCommonStripDet -lDetLayout  -lTkNavigation -lNumericalJacobians  -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lglib-2.0  /usr/lib/preloadable_libintl.so -L/cern/ROOT/source/root/lib  /usr/lib/libX11.so -L/cern/Minuit2/5.28.00/lib -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lfreetype -lz  /usr/lib/libbz2.so.1.0.6  -pthread -Wl,-rpath,/cern/ROOT/source/root/lib -lpthread  -lm -ldl -lMinuit2  -L/cern/CLHEP/2.0.4.5/lib/ -lCLHEP-2.0.4.5  /usr/lib/libstdc++.so.6 /lib/libutil-2.15.so /lib/libSegFault.so  /home/morad/Musique/workdir/layout/build/analyze/myAnalyze.o  /home/morad/Musique/workdir/layout/build/analyze/runAnalyze.o -o runAnalyze
    /home/morad/Musique/workdir/library/tklibs/lib/libSmearingClusterizers.so: undefined reference to `TrivialROUSetter::set(Module)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FixTIDTopology::recreateTopologies()'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `TkDetTypeName::shortName(DetType const&)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `DetUnitGluer::glue(__gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >, __gnu_cxx::__normal_iterator<DetUnit**, std::vector<DetUnit*, std::allocator<DetUnit*> > >)'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkFastSimHit.so: undefined reference to `RawHepEventFactoryFromGun::RawHepEventFactoryFromGun()'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `toa::operator()(int const&) const'
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FixTIDTopology::FixTIDTopology()'                                                                        
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `DetBlade::DetBlade(__gnu_cxx::__normal_iterator<Det* const*, std::vector<Det*, std::allocator<Det*> > >, __gnu_cxx::__normal_iterator<Det* const*, std::vector<Det*, std::allocator<Det*> > >)'                                                                                                          
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `toa::~toa()'                                                                                             
    /home/morad/Musique/workdir/library/tklibs/lib/libTkLayout.so: undefined reference to `FullTracker::instance()'                                                                                 
    collect2: erreur: ld a retourné 1 code d'état d'exécution                                                                                                                                       
    make: *** [runAnalyze] Erreur 1                                                                                                                                                                 
    morad@linux-nzlc:~/Musique/workdir/layout/analyze>

    vous pouvez voir une long discusion sur ce sujet sur http://www.cplusplus.com/forum/unices/101797/ afin de m'aider de trouver une solution de ce complexe problème

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SRC = monFichier.cpp
    OUT_OBJS = $(source:.cpp=.o)
    Sinon ça veut juste dire que tu n'as pas codé les méthodes

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/12/2011, 12h53
  2. Problème avec une librairie open source sous myEclipse
    Par scaryfan dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 01/09/2009, 20h40
  3. Réponses: 7
    Dernier message: 04/06/2008, 19h22
  4. Création de "sous-librairie" dans une librairie SAS
    Par domalin dans le forum SAS Base
    Réponses: 4
    Dernier message: 16/05/2008, 09h40
  5. Problème au link : librairie dans une librairie
    Par jbwan dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 15/04/2008, 15h10

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