Bernard G. a écrit 23 commentaires

  • [^] # Re: suite : evolution

    Posté par  . En réponse au message problèmes de link C++. Évalué à 0.

    dans cette application le makefile est morcellé en plusieurs fichiers.
    je ne suis pas à l'origine de cette architecture compliquée !

    makefile --linux.mk---Makfile.mk--
    | | +--projarch.mk
    | +-tools.mk
    + objects1.mk
    + objects2.mk
    + objects3.mk
    ....

    j'espère que c'est (un peu!) clair...


    makefile

    #===============================================================
    #
    # Makefile de tests :
    #
    # Compilation des modules d'entree applicatif, et
    # surtout Editions de Liens : pour Unix ou pour VxWorks
    # suivant les target de make
    #
    #===============================================================
    #===============================================================
    # VALEUR PAR DEFAUT DE LA VARIABLE DE PLATEFORME CIBLE
    #===============================================================
    #CIBLE = VxWorks
    CIBLE = Linux
    #===============================================================
    cible_defaut_test: pirrat

    include ${RACINE}/${ND_MAKEFILES}/${CIBLE}.mk

    #===============================================================
    #===============================================================
    #===============================================================
    LIB_BASENAME = ${NS_CPPBOOCH}
    include ${RACINE}/${ND_CATEGORIES}/${NS_CPPBOOCH}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_SUPPORT}
    include ${RACINE}/${ND_CATEGORIES}/${NS_SUPPORT}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_MATH}
    include ${RACINE}/${ND_CATEGORIES}/${NS_MATH}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_MESURES}
    include ${RACINE}/${ND_CATEGORIES}/${NS_MESURES}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_COMPOSANTS}
    include ${RACINE}/${ND_CATEGORIES}/${NS_COMPOSANTS}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_NOYAU}
    include ${RACINE}/${ND_CATEGORIES}/${NS_NOYAU}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_FILTRES}
    include ${RACINE}/${ND_CATEGORIES}/${NS_FILTRES}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_COMMANDES}
    include ${RACINE}/${ND_CATEGORIES}/${NS_COMMANDES}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_INTERFACE}
    include ${RACINE}/${ND_CATEGORIES}/${NS_INTERFACE}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_VORTEX}
    include ${RACINE}/${ND_CATEGORIES}/${NS_VORTEX}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_GENERATEURS}
    include ${RACINE}/${ND_CATEGORIES}/${NS_GENERATEURS}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_REPARTITEURS}
    include ${RACINE}/${ND_CATEGORIES}/${NS_REPARTITEURS}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_CONTROLEUR}
    include ${RACINE}/${ND_CATEGORIES}/${NS_CONTROLEUR}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_OBSERVATEURS}
    include ${RACINE}/${ND_CATEGORIES}/${NS_OBSERVATEURS}/objects.mk
    #===============================================================
    LIB_BASENAME = ${NS_DIALOGUE}
    include ${RACINE}/${ND_CATEGORIES}/${NS_DIALOGUE}/objects.mk
    #===============================================================
    LIB_BASENAME = Probleme_dans_makefile_test_sur_LIB_BASENAME
    #===============================================================
    #===============================================================


    #===============================================================
    # TOUS LES OBJETS A LINKER
    #===============================================================
    # LSUB: localisation des sous-systemes
    LSUB = ${RACINE}/${ND_CATEGORIES}
    #===============================================================
    TOUS_LES_OBJETS = \
    ${OBJ_${NS_CPPBOOCH}:%=${LSUB}/${NS_CPPBOOCH}/%} \
    ${OBJ_${NS_SUPPORT}:%=${LSUB}/${NS_SUPPORT}/%} \
    ${OBJ_${NS_MATH}:%=${LSUB}/${NS_MATH}/%} \
    ${OBJ_${NS_MESURES}:%=${LSUB}/${NS_MESURES}/%} \
    ${OBJ_${NS_COMPOSANTS}:%=${LSUB}/${NS_COMPOSANTS}/%} \
    ${OBJ_${NS_NOYAU}:%=${LSUB}/${NS_NOYAU}/%} \
    ${OBJ_${NS_FILTRES}:%=${LSUB}/${NS_FILTRES}/%} \
    ${OBJ_${NS_COMMANDES}:%=${LSUB}/${NS_COMMANDES}/%} \
    ${OBJ_${NS_INTERFACE}:%=${LSUB}/${NS_INTERFACE}/%} \
    ${OBJ_${NS_VORTEX}:%=${LSUB}/${NS_VORTEX}/%} \
    ${OBJ_${NS_REPARTITEURS}:%=${LSUB}/${NS_REPARTITEURS}/%}\
    ${OBJ_${NS_GENERATEURS}:%=${LSUB}/${NS_GENERATEURS}/%} \
    ${OBJ_${NS_CONTROLEUR}:%=${LSUB}/${NS_CONTROLEUR}/%} \
    ${OBJ_${NS_OBSERVATEURS}:%=${LSUB}/${NS_OBSERVATEURS}/%} \
    ${OBJ_${NS_DIALOGUE}:%=${LSUB}/${NS_DIALOGUE}/%} \

    #-------------------- LAISSER LE SAUT DE LIGNE -----------------
    #===============================================================


    ################################################################
    ################################################################
    ################################################################
    ################################################################


    #===============================================================
    #===============================================================
    LIB_NAMES = ${NS_GENERATEURS}.${ELIB} \
    ${NS_VORTEX}.${ELIB} \
    ${NS_COMMANDES}.${ELIB} \
    ${NS_CPPBOOCH}.${ELIB} \
    ${NS_SUPPORT}.${ELIB} \
    ${NS_MATH}.${ELIB} \
    ${NS_MESURES}.${ELIB} \
    ${NS_COMPOSANTS}.${ELIB} \
    ${NS_NOYAU}.${ELIB} \
    ${NS_FILTRES}.${ELIB} \
    ${NS_INTERFACE}.${ELIB} \
    ${NS_REPARTITEURS}.${ELIB} \
    ${NS_CONTROLEUR}.${ELIB} \
    ${NS_OBSERVATEURS}.${ELIB} \
    ${NS_DIALOGUE}.${ELIB} \


    #===============================================================




    ################################################################
    ################################################################
    #===============================================================
    # BEGIN : REGLES EXPLICITES
    #===============================================================
    ################################################################
    ################################################################
    #===============================================================
    # BEGIN : Linux
    #===============================================================
    pirrat: intro_test ${LIB_NAMES}
    @echo ================================================================
    @echo "VERSION....... "${VERSION}
    @echo "CIBLE......... "${CIBLE}
    @echo "VORTEXMODE.... "$(VORTEXMODE)
    @echo ----------------------------------------------------------------
    @echo ${@F}.${VORTEXMODE}.${EINT}
    ${LX_LD} -o ${RACINE}/${ND_BIN}/${CIBLE}/$@-${VORTEXMODE}.${EINT} \
    ${LD_FLAGS} $(LD_LIB) ${TOUS_LES_OBJETS} >${RACINE}/${ND_BIN}/${CIBLE}/$@-${VORTEXMODE}.${EMAP}

    @echo done
    @echo ================================================================
    @echo
    @echo

    #===============================================================
    # END : Linux
    #===============================================================

    #===============================================================
    #===============================================================
    intro_test:
    @echo ================================================================
    @echo "VERSION....... "${VERSION}
    @echo "CIBLE......... "${CIBLE}
    @echo "VORTEXMODE.... "$(VORTEXMODE)
    @echo ----------------------------------------------------------------


    ################################################################
    ################################################################
    #===============================================================
    # END : REGLES EXPLICITES
    #===============================================================
    ################################################################
    ################################################################




    #===============================================================
    # BEGIN : REGLE IMPLICITES
    #===============================================================

    #---- CONSTRUCTION DE LIBRAIRIES -------------------------------
    %.${ELIB} :
    @echo ================================================================
    @echo "SOUS-SYSTEME.. "${*F}" ("${CIBLE}")"
    @echo ----------------------------------------------------------------
    @cd ${RACINE}/${ND_CATEGORIES}/${*F} ; \
    ${MAKE} CIBLE=${CIBLE}
    @echo done

    #===============================================================
    # END : REGLE IMPLICITES
    #===============================================================



    #====================== end of makefile ========================


    linux.mk

    #===============================================================================
    # Description du Module Linux.mk
    #
    # Configuration generique pour Makefile Linux
    #
    #===============================================================================

    #===============================================================================
    # SECTION INCLUSION MAKEFILE
    #===============================================================================

    include $(RACINE)/$(ND_MAKEFILES)/Makefile.mk
    include $(RACINE)/$(ND_MAKEFILES)/Tools.mk


    #===============================================================================
    # DEFINITIONS DES EXTENSIONS ET/OU PREFIXES DES TYPES DE FICHIERS
    #----------------------------------------------------------------
    # les definitions generiques dans voir Projarch.mk inclu dans
    # Makefile.mk
    #
    #===============================================================================
    EINT = exe ## exe file
    EMAP = map ## map file

    #===============================================================================
    # REDEFINITIONS SPECIFIQUES CIBLE = Linux
    #===============================================================================
    PLIB = lib ## archive library file prefix

    #===============================================================================
    # ATTENTION : il faut que l'extension des fichiers objets soit
    # differentes pour VxWorks et pour Unix, pour que le
    # <.KEEP_STATE:> fonctionne correctement pour les deux
    #===============================================================================
    EOBJ = o ## target relocatable object file (gcc output)


    #===============================================================================
    # SECTION REDEFINITION SPECIFIQUE DE VARIABLES COMMUNES
    #===============================================================================
    VAR_ENV_CIBLE = CIBLE_Linux

    #===============================================================================
    # OPTIONS d'INCLUSION DES FICHIERS
    #===============================================================================

    OPT_INCLUDE_CCC = $(OPT_INCLUDE_PROJ)\


    #===============================================================================
    # OUTILS UTILISES DANS LE MAKEFILE DE test
    #===============================================================================
    AR = $(LXWORKS_AR)
    RANLIB = $(LXWORKS_RANLIB)
    LD = $(LXWORKS_LD)

    #===============================================================
    # Options de ar :
    # -r : insertion dans l'archive avec remplacement
    #
    # NOTA : option "-s" de $(AR) est equivalent normalement a faire
    # $(RANLIB) mais pose probleme si la librairie n'existe pas encore
    #===============================================================
    ARFLAGS = -srv


    ################################################################
    ################################################################
    # BEGIN : SECTION REGLE EDITION DE LIEN
    ################################################################
    ################################################################
    #===============================================================
    # Options de ld :
    # -d : reservation des symboles communs
    # -M : imprime une map sur la sortie standard
    # -t : imprime le nom des fichiers d'entree
    # -X : efface tous les symboles locaux temporaires
    # -warn-once : affiche qu'une fois le warning
    #===============================================================
    LD_FLAGS = -d -M -X -warn-once
    LD_LIB = -L. -lstdc++ -lm -ldl -lc -lpthread
    ###############################################################
    ################################################################
    # END : SECTION REGLE COMPILATION
    ################################################################
    ################################################################

    ################################################################
    ################################################################
    # BEGIN : SECTION REGLE COMPILATION
    ################################################################
    ################################################################

    #===============================================================================
    #
    # -ansi : mode ansi actif, compatible C89 ISO
    # -c : compilation sans edition de liens
    # -fcheck-new : verifie le pointeur en cree par <operator new>
    # -fno-builtin : toujours actif en C++, supprime les optimisations en ligne
    # -fPIC : generation code position independant
    # -fstack-check : verifie la limite de pile (utile en multi threads)
    # -g : generation d'informations de debug
    # -m32 : format de mémoire à 32 bits
    # -march=i686 : Genere les instructions pour i 686 => pentium-pro
    # -mmmx : utilise les options d'instructions mmx
    # -msse : utilise les options d'instructions floatantes scalaires dans SSE
    # -nostdinc++ : ne recherche pas les entetes standards C++
    # -O3 : selectionne le meilleure ensemble d'optimisations
    # -W : complement de warnings de -Wall
    # -Wall : affiche tous les warnings
    # -Werror : les warnings sont des erreurs
    # -Wfloat-equal : warning comparaison de flottants
    # -Wreorder : warning sur l'ordre des initialisateurs de membres
    #
    #===============================================================================
    LANGAGE = -x c++
    F_CPU = -march=i686 -mmmx -msse -m32

    #-nostdinc++ -fcheck-new
    F_C++ = -fno-builtin -Wreorder -frepo

    F_COMPILE = -ansi -Wall -W -v -fstack-check -Wfloat-equal -pedantic-errors -fPIC
    # -ggdb -Werror

    F_DEF = -D CIBLE_Linux

    #===============================================================================
    # indicateurs de compilation de GCC
    #===============================================================================
    CCC_FLAGS = $(F_COMPILE) $(F_DEF) $(LANGAGE) $(F_CPU) $(F_C++) -pthread \
    -g
    #===============================================================================
    # REGLE DE CONSTRUCTION DES FICHIERS OBJETS
    #===============================================================================

    #===============================================================================
    #---- COMPILATION SOURCE "C++"
    #===============================================================================

    #./$(ND_OBJ)/$(CIBLE)/%.$(EOBJ) : ./$(ND_SOURCES)/%.$(ECC) ./$(ND_INCLUDE)/*.$(ECCCH) $(TEST)/#Makefile $(RACINE)/$(ND_MAKEFILES)/*.mk
    ./$(ND_OBJ)/$(CIBLE)/%.$(EOBJ) : ./$(ND_SOURCES)/%.$(ECC) ./$(ND_INCLUDE)/*.$(ECCCH)
    #-------------------------------------------------------
    # compilation du fichier $@<
    # $@ : la cible
    #-------------------------------------------------------
    $(LXWORKS_CCC) $(CCC_FLAGS) $(OPT_INCLUDE_CCC) -o $@ -c $<



    ################################################################
    ################################################################
    # END : SECTION REGLE COMPILATION
    ################################################################
    ################################################################

    #==================end of makefile Linux.mk======================


    Projarch.mk

    #===============================================================
    #
    # Module: Projarch.mk
    #===============================================================


    #===============================================================
    #===============================================================
    ND_OBJ = object
    #===============================================================

    #===============================================================
    NS_SYSTEM = PIRAT
    #===============================================================
    # NOMS DES SOUS-SYSTEMES
    #===============================================================
    NS_COMMANDES = commandes
    NS_COMPOSANTS = composants.$(VORTEXMODE)
    NS_CONTROLEUR = controleur
    NS_CPPBOOCH = cppbooch
    NS_DIALOGUE = dialogue
    NS_FILTRES = filtres
    NS_GENERATEURS = generateurs
    NS_INTERFACE = interface
    NS_MATH = math.$(VORTEXMODE)
    NS_MESURES = mesures
    NS_NOYAU = noyau.$(VORTEXMODE)
    NS_OBSERVATEURS = observateurs
    NS_REPARTITEURS = repartiteurs
    NS_SUPPORT = support
    NS_VORTEX = vortex.$(VORTEXMODE)



    #===============================================================
    #===============================================================

    #===============================================================
    #===============================================================
    SUBSYSTEM_LIST = $(NS_SUPPORT) \
    $(NS_MATH) \
    $(NS_MESURES) \
    $(NS_COMPOSANTS) \
    $(NS_NOYAU) \
    $(NS_COMMANDES) \
    $(NS_FILTRES) \
    $(NS_INTERFACE) \
    $(NS_VORTEX) \
    $(NS_GENERATEURS) \
    $(NS_REPARTITEURS) \
    $(NS_CONTROLEUR) \
    $(NS_OBSERVATEURS) \
    $(NS_DIALOGUE) \
    $(NS_CPPBOOCH)


    # laisser le SAUT DE LIGNE
    #---------------------------------------------------------------
    #===============================================================


    #===============================================================
    # base pour l'option -I des cc,CC*,
    # independante de la plateforme cible
    #===============================================================
    OPT_INCLUDE_PROJ = \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_SUPPORT)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_MATH)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_MESURES)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_COMPOSANTS)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_NOYAU)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_COMMANDES)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_FILTRES)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_INTERFACE)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_VORTEX)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_GENERATEURS)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_REPARTITEURS)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_CONTROLEUR)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_OBSERVATEURS)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_DIALOGUE)/$(ND_INCLUDE) \
    -I$(RACINE)/$(ND_CATEGORIES)/$(NS_CPPBOOCH)/$(ND_INCLUDE) \


    # laisser le SAUT DE LIGNE
    #---------------------------------------------------------------
    #===============================================================


    #===============================================================
    # MACROS DEFINISSANT LES PREFIXES DE DIVERS TYPES DE FICHIERS #===============================================================
    PLIB = lib ## archive library file prefix
    #===============================================================

    #===============================================================
    # MACROS DEFINISSANT LES EXTENSIONS DE DIVERS TYPES DE FICHIERS #===============================================================
    EO = o ## classic object file
    ECFO = cfo ## (cfront-only output)
    ELIB = a ## library file
    ESUB = s ## sub-system make target
    # BGr
    #ECC = cc ## C++ source file
    ECC = cpp ## C++ source file
    EC = c ## C source file
    ECCCH = hh ## C++ header file
    ECCH = h ## C header file
    EOBJ = obj ## target relocatable object file (cc68k output)
    EINT = int ## partially linked special object file
    #===============================================================

    #================end of makefile projarch.mk=====================


    tools.mk

    #===============================================================
    #
    # Module: Outils.mk
    #
    #===============================================================


    #===============================================================
    # SELECTION DES OUTILS POUR LA PLATEFORME LINUX
    #===============================================================
    LX_CCC = g++

    LX_CC = $(LX_XDEVHOME)gcc
    LX_LD = $(LX_XDEVHOME)ld
    LX_AR = $(LX_XDEVHOME)ar
    LX_RANLIB = $(LX_XDEVHOME)ranlib

    LXWORKS_CCC = $(LX_CCC)
    LXWORKS_LD = $(LX_LD)
    LXWORKS_AR = $(LX_AR)
    LXWORKS_RANLIB = $(LX_RANLIB)
    #===============================================================

    #------------------- LAISSER LE SAUT DE LIGNE ------------------
    #---------------------------------------------------------------
    #===============================================================

    #=================end of makefiletools.mk=======================


    objects1.mk

    #===============================================================
    # Name: "objects.mk"
    #
    # "objects.mk" de sous-systeme SOUS_SYSTEME
    #
    #===============================================================

    #===============================================================
    OBJ_$(LIB_BASENAME)= \
    $(ND_OBJ)/$(CIBLE)/Segment.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Base_Requete.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Parametre.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Parametre_AR.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Liste_Parametres.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Liste_Parametres_AR.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Bloc_Source.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Liste_Sources.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Requete.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Reinitialiser.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Detruire_OG.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Activer_AR.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Creer_Actif_OG.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Interpreteur.$(EOBJ) \
    $(ND_OBJ)/$(CIBLE)/Inst_DIALOGUE.$(EOBJ) \

    #------------LAISSER LES SAUTS DE LIGNE---------------------------
    # $(ND_OBJ)/$(CIBLE)/Filename.$(EOBJ) \
    #===============================================================

    #===================end of makefile objects.mk====================
  • # suite : evolution

    Posté par  . En réponse au message problèmes de link C++. Évalué à 0.

    en changeant la ligne de commande de LD ainsi :
    -d -M -X -warn-once -lstdc++ -lm -ldl -lc -lpthread
    la plupart de mes erreurs disparaissent.
    il me reste :
    /categories/support/object/Linux/Mrstring.o(.text+0x1046): dans la fonction « __static_initialization_and_destruction_0 »:
    sources/Mrstring.cpp:58: undefined reference to `__dso_handle'
    make: *** [pirrat] Erreur 1
    ce que j'avais avant de tout réinstaller !

    alors c'est quoi !
  • [^] # Re: GCC: GNU Compiler Collection

    Posté par  . En réponse au message installation version récente de gcc. Évalué à 0.

    Suite à tous mes problèmes de librairies ET de taille de partitions, j'ai reformaté et réinstallé FC2.
    Maintenant, j'ai un paquetage GCC cohérent (enfin je pense), et de la place !
    Mon make aboutit sur des erreurs de link :

    //categories/cppbooch/object/Linux/except.o(.gnu.linkonce.d._ZTI9Exception+0x0):sources/except.cpp:66: undefined reference to `vtable for __cxxabiv1::__class_type_info'
    /categories/cppbooch/object/Linux/except.o(.gnu.linkonce.d._ZTI9Duplicate+0x0):sources/except.cpp:66: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
    /categories/cppbooch/object/Linux/except.o(.gnu.linkonce.d.DW.ref.__gxx_personality_v0+0x0):sources/except.cpp:66: undefined reference to `__gxx_personality_v0'
    categories/cppbooch/object/Linux/shared.o(.text+0x104): dans la fonction « Shared::~Shared() »:
    sources/shared.cpp:71: undefined reference to `__cxa_allocate_exception'
    /categories/cppbooch/object/Linux/shared.o(.text+0x13b):sources/shared.cpp:71: undefined reference to `__cxa_free_exception'
    /cppbooch/object/Linux/shared.o(.text+0x149):sources/shared.cpp:71: undefined reference to `_Unwind_Resume'
    /categories/cppbooch/object/Linux/shared.o(.text+0x166):sources/shared.cpp:71: undefined reference to `__cxa_throw'
    /categories/cppbooch/object/Linux/u_str.o(.text+0x50): dans la fonction « catenate(char const*, char const*) »:
    sources/u_str.cpp:52: undefined reference to `operator new[](unsigned int)'
    /categories/cppbooch/object/Linux/u_float.o(.text+0x744): dans la fonction « based_image »:
    sources/u_float.cpp:175: undefined reference to `operator delete(void*)'
    /categories/support/object/Linux/Mrstring.o(.text+0x1044): dans la fonction « __static_initialization_and_destruction_0 »:
    sources/Mrstring.cpp:58: undefined reference to `__dso_handle'
    /categories/mesures/object/Linux/Catalogue_Historiques.o(.text+0x233): dans la fonction « Catalogue_Historiques::ajouter_Historique(MrString const&, int) »:
    sources/Catalogue_Historiques.cpp:144: undefined reference to `operator new(unsigned int)'
    /categories/composants.reelnew/object/Linux/Protocole.o(.gnu.linkonce.d._ZTV9Protocole+0xc):
    /categories/composants.reelnew/include/Protocole.hh:77: undefined reference to `__cxa_pure_virtual'
    make: *** [pirrat] Erreur 1

    avec les options de ld
    -d -M -X -warn-once -L. -lm -ldl -lpthread
    par contre, je veux rajouter la lib libstdc++, car je crois que c'est l'origine des erreurs de link ci-dessus (à moins que ? ).
    dois-je écrire -lstdc++ ou -llibstdc++ ?
    il ne la trouve pas.
    pourtant j'ai le path
    PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/dev:/usr/lib

    help me....
  • [^] # Re: Besoin pour quoi ?

    Posté par  . En réponse au message librairie manquante libstdc++.so.5. Évalué à 0.

    pour me depatouiller de ces paquetages interdépendants, j'ai trouvé synaptic.
    Tu peux gérer tes rpm visuellement. Il s'occupe du reste.
    J'ai déjà retiré gcc 3.4.4.
    je pense qu'il est en conflit avec gcc 3.3.3.
    a confirmer....
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 0.

    oui je pense,
    et je vais faire comme ton camarade : repartionner.
    de toutes les façons, j'ai un autre problème plus pénible :
    voir le post :
    http://linuxfr.org/forums/36/9503.html(...)
    et
    http://linuxfr.org/forums/20/9494.html(...)
    les problèmes sont certainement liés...
    cela passe peut-être par la ré-installation de linux ?!
  • [^] # Re: Besoin pour quoi ?

    Posté par  . En réponse au message librairie manquante libstdc++.so.5. Évalué à 0.

    la lib std c++ est nécessaire pour une appli c++ que je veux compiler et linker.
    cette appli est dèjà écrite (depuis 10 ans) . Il s'agit d'un portage.
    la compil se passe bien, sauf au link :
    pb avec _dso_handle.
    en cherchant un peu j'arrive à cette lib manquante.
    j'ai installé gcc 3.4.0, puis gcc 3.4.4.
    mais peut-être je m'y suis mal pris. il y avait à déinstaller des paquetages avant ?

    pour le répertoire j'ai (fedora 2) :
    /usr/lib/gcc/i386-redhat-linux/3.4.0
    avec

    -rw-r--r-- 1 root root 1604 avr 21 2004 crtbegin.o
    -rw-r--r-- 1 root root 1964 avr 21 2004 crtbeginS.o
    -rw-r--r-- 1 root root 1988 avr 21 2004 crtbeginT.o
    -rw-r--r-- 1 root root 1288 avr 21 2004 crtend.o
    -rw-r--r-- 1 root root 1336 avr 21 2004 crtendS.o
    drwxr-xr-x 6 root root 4096 mar 17 14:13 include
    -rw-r--r-- 1 root root 50762 avr 21 2004 libgcc.a
    -rw-r--r-- 1 root root 31328 avr 21 2004 libgcc_eh.a
    lrwxrwxrwx 1 root root 18 mar 17 14:13 libgcc_s.so -> /lib/libgcc_s.so.1
    -rw-r--r-- 1 root root 21586378 avr 21 2004 libgcj.a
    lrwxrwxrwx 1 root root 24 mar 17 14:13 libgcj.so -> ../../../libgcj.so.5. 0.0
    -rw-r--r-- 1 root root 338 avr 21 2004 libgcj.spec
    -rw-r--r-- 1 root root 12112 avr 21 2004 libgcov.a
    -rw-r--r-- 1 root root 127674 avr 21 2004 lib-org-w3c-dom.a
    lrwxrwxrwx 1 root root 33 mar 17 14:13 lib-org-w3c-dom.so -> ../../../lib -org-w3c-dom.so.5.0.0
    -rw-r--r-- 1 root root 250752 avr 21 2004 lib-org-xml-sax.a
    lrwxrwxrwx 1 root root 33 mar 17 14:13 lib-org-xml-sax.so -> ../../../lib -org-xml-sax.so.5.0.0
    -rw-r--r-- 1 root root 1704166 avr 21 2004 libstdc++.a
    lrwxrwxrwx 1 root root 27 mar 17 14:32 libstdc++.so -> ../../../libstdc++ .so.6.0.0
    -rw-r--r-- 1 root root 150040 avr 21 2004 libsupc++.a
    -rw-r--r-- 1 root root 3806 avr 21 2004 specs

    on voit un link
    lrwxrwxrwx 1 root root 27 mar 17 14:32 libstdc++.so -> ../../../libstdc++ .so.6.0.0
    est-ce l'erreur ?

    sinon, comment revenir en arrière ?
    comment connaitre la liste des paquetages d'une version d'un gcc donné ?
  • [^] # Re: libstdc++.so.5

    Posté par  . En réponse au message librairie manquante libstdc++.so.5. Évalué à 0.

    je crois qu'il y a un lien cassé sur cette librairie.

    j'ai déjà essayé :
    rpm -i libstdc++-3.3.3-7.i386.rpm
    il me réponds :
    paquetage libstdc++-3.3.3-7 déjà installé
    en faisant :
    rpm -qa|grep -i libstdc++
    le résultat donne :
    libstdc++34-devel-3.4.0-1
    compat-libstdc++-7.3-2.96.126
    libstdc++-devel-3.3.3-7
    libstdc++34-3.4.0-1
    libstdc++-3.3.3-7

    j'avoue (un peu débutant) ne pas y reconnaitre mes petits. ?????
  • [^] # Re: Goog..

    Posté par  . En réponse au message ERREUR: __dso_handle. Évalué à 0.

    merci,
    j'ai binutils-2.15.90.0.3-5 installé.

    dois-je mettre à jour mon paquetage binutils ?
    a+
  • [^] # Re: Goog..

    Posté par  . En réponse au message ERREUR: __dso_handle. Évalué à 0.

    merci,
    alors je dois mettre à jour mon binutils ?
    le mien est :
    binutils-2.15.90.0.3-5
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 2.

    alors le CD marche bien.
    j'ai lancé gparted qui voit bien ma config.
    Je peux "resizer" mes partitions sauf celles en ext2fs, évidement celle qui m'intéresse.
    sur le cd, il y a ranish qui partitionne seulement du FAT16 et FAT32.
    Je vais arrêter là ma quête à l'utilitaire magique.
    Je ne vois qu'une seulle solution. Reformater mes partitions après des sauvegardes.
    Dans tous les cas j'aurai bien animé ce post ( un peu seul....)
    a+
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 1.

    Tous ces paquetages inter-dépendants, trop galère...

    Une autre solution est d'employer le systemrescue cdrom
    Une bonne compil qui dépanne.
    Je vais tester.
    A+
  • [^] # Re: Inline

    Posté par  . En réponse au message erreur de destructeur sous gcc. Évalué à 1.

    salut,
    voir mon post
    http://linuxfr.org/forums/30/9179.html#588912(...)
    pour la correction des erreurs.
    J'avance rapidement à petit pas ! ;-)
  • [^] # Re: GCC: GNU Compiler Collection

    Posté par  . En réponse au message installation version récente de gcc. Évalué à 1.

    bonjour
    finalement mes problèmes ont été résolus pour la plupart avec une librairie rajoutée :
    -lstdc++
    Sur le précédent post, je présentais une lib en moins !
    bien vu ;-)
    Maintenant, reste plus qu'à matter mon erreur
    undefined reference to `__dso_handle'
    a priori, une petite recherche vers les GNU binutils en perspective.
    Enfin, de l'aide n'est pas de refus
    a+
  • [^] # Re: auto-tools?

    Posté par  . En réponse au message Soutien Anjuta pour l'importation de projet C++. Évalué à 1.

    Justement dans le menu Construire ->Tout reconstruire Shift+F11 cela devrait correspondre à ton rebuilt-all
    mais non, sniff....
    pas de makefile
    Je dois probablement oublier une phase mais laquelle ?
    la 8 ?
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 1.

    merci je vais essayer.
    a+
  • [^] # Re: GCC: GNU Compiler Collection

    Posté par  . En réponse au message installation version récente de gcc. Évalué à 1.

    Comment être sûr d'avoir les bonnes librairies installées?
    checker les paquetages ?
    Et dans le link comment savoir quelles librairies à linker ?

    merci d'avance.
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 1.

    j'ai chargé Qtparted 0.4.4
    la variabled'env. QTDIR est définie =/usr/lib/qt-3.3
    après un ./configure, j'ai un message d'erreur :
    libreiserfs not found
    pour une fedora 2 je cherche libreiserfs.rpm sur le net ?
    Car il y a beaucoup de source debian.
    Je ne sais pas trop quoi faire !
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 1.

    merci, j'ai vu les fonctionnalités de QtParted.
    mais il ne resize pas les systèmes de fichiers ext2/ext3 :-(
    je vais quand même le charger pour voir...
    je vous tiens au courant.
  • [^] # Re: GCC: GNU Compiler Collection

    Posté par  . En réponse au message installation version récente de gcc. Évalué à 1.

    ce qui m'ennuie, c'est que c'est une application dèjà développée et qui a été compilé pour VxWorks.
    Il est vrai que tout a été généré en code relogeable. Mais bon.
    Alors ce pb de undefined reference me laisso coac.
    si je laisse le destructeur en virtuel (sans les {} et le ;) comme l'indique ton conseil, l'erreur reste.
    Si j'enlève le "virtual", il me dit que le destructeur ne l'est pas pour pour une classe qui l'est.
    Et là, mon c++ est un peu limité.
    Je ne sais pas poursuivre.
    De la même manirère l'édition de lien m'indique ;
    Container_Error::Container_Error(char const*, char const*) »:
    sources/except.cpp:108: undefined reference to `vtable for Container_Error
    sources/except.cpp:108:undefined reference to `vtable for __cxxabiv1::__class_type_info'
    ...
    ???

    :o(
    pour arreter une balise, c'est quoi, il y a < i >, < u >,... et la fin ?
  • [^] # Re: Inline

    Posté par  . En réponse au message erreur de destructeur sous gcc. Évalué à 1.

    finalement, j'ai toujours mon pb.
    :-(
    ???
  • [^] # Re: Agrandissement oui, reduction

    Posté par  . En réponse au message changement taile partition. Évalué à 1.

    j'ai en effet chargé parted.
    mais j'hésite de travailler en ligne de commandes avec autant de paramètres. Une erreur d'interprétation est facile et le sujet est si sensible !
    Par contre, Il existe une interface graphique =PartGui 0.2.3
    Je vois bien mes partitions avec. Mais je n'ai pas la possibilité de redimensionner une partition.
    donc je suis un peu bloqué.
    si une aide est possible...

    merci
  • [^] # Re: GCC: GNU Compiler Collection

    Posté par  . En réponse au message installation version récente de gcc. Évalué à 1.

    re bonjour Robin...
    comme débutant, je suis déjà dans l'informatique industrielle et embarquée depuis quelques années, mais jamais sous Linux et c++.
    en fait, j'ai des erreurs de link, et je me pose la question si j'ai les bonnes librairies pour le C++.
    En installant une version plus récente, cela réglerait mon problème.... peut-être... si mes suppositions sont correctes... ???

    telle est ma démarche.
    je m'en vais de ce pas voir les rpms disponibles.
    merci
    a+
  • [^] # Re: Inline

    Posté par  . En réponse au message erreur de destructeur sous gcc. Évalué à 1.

    dèjà, merci de me faire avancer.
    J'ai corrigé le source (retrait de {;} dans le .h et ; dans le cpp.
    En retirant le 'virtual' la compilation me sort le message
    'class Exception' has virtual functions but non-virtual destructor'
    et le link me rend la même erreur. :-(
    ???
    ps:
    quel est l'usage des balises dans le message ?
    j'ai compris pour commencer en italique mais pas pour finir ?