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 :

compilaton et �dition de liens avec g++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    620
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 620
    Par d�faut compilaton et �dition de liens avec g++
    Bonjour,

    Je suis en train de me mettre � la programmation sous linux - jusque l� je vivais avec wxDevcpp... et du coup je dois faire connaissance avec les probl�mes suivants : options de compilation et d'�dition de liens, makefile, bakefile, compilation de biblioth�ques de fonctions... que du bonheur !
    Jusque l�, je suis parvenu � installer wxWidgets en local sur ma machine et � compiler avec make un des exemples fournis : �a marche !! � magie !
    A pr�sent, toutefois, je voudrais passer � la copilation d'un projet que j'avais d�velopp� sous wxDevcpp qui inclut wxWidgets et wxmathplot. Je n'ai pas encore install� cette derni�re, mais je vais m'y mettre rapidement. Mais je sais d'ores et d�j� que je vais butter sur les probl�mes d'option de compilation et d'�dition de liens. J'ai trouv� un super tutoriel sur les makefile sur dvp.com, mais rien - pour le moment - sur les options de compilation et de linkage � utiliser "dans le cas g�n�ral". Connaissez-vous de la bonne litt�rature sur le sujet (ou bien auriez-vous des conseils )

    Merci !!

    Hugo

  2. #2
    Membre confirm�
    Homme Profil pro
    Architecte de syst�me d'information
    Inscrit en
    Mai 2002
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Architecte de syst�me d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Par d�faut
    Salut, avec g++ si tu veux que ton programme marche nickel sur la plupart des machine je pense qu'il n'est pas conseill� de trop modifier tes options de compilation.
    Les classiques sont -O1 -O2 et -O3, regardes dans la documentation de gcc, "en g�n�ral" on compile en -O2.
    Si tu veux des conseils pour l'optimisation autant pour la compilation que pour l'�dition des liens je te conseils d'aller voir des articles sur la distribution Gentoo.
    Tu peux aller voir ici http://gentoo-wiki.com/CFLAGS, regarde aussi dans le forum de gentoo, y'a des articles super bien fait l� dessus. Pour l'�dition des liens il n'y a pas grand chose � faire, cependant quelques optimisations sont possibles, aller voir ce qu'est le "prelink", sur le site de Gentoo tu trouveras tout �a.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    620
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 620
    Par d�faut
    Salut bouba,

    Merci pour ta r�ponse !! Le lien est super int�ressant !
    Ma question porte en fait sur la fa�on de dire au linker et au compilateur o� se trouvent d'�ventuelles librairies install�es en locale plut�t qu'au niveau global. Une fois qu'on a compil� une librairie... on en fait quoi ?

    Marc

  4. #4
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Au niveau de l'�dition de liens, on fournis g�n�ralement les valeurs sous LDFLAGS et principalement:
    • -Lchemin/vers/dossier/contenant/les/lib*.a
    • -lquelque_chose

    Le premier, tu t'en sera dout�, permet de signifier dans quel dossier aller chercher apr�s les biblioth�ques dont on a besoin

    Le second permet de sp�cifier une biblioth�que qu'il faut utiliser.

    Sous linux, les biblioth�ques ont des noms sous la forme de libQUELQUECHOSE.a, et il ne faut donner que QUELQUECHOSE, par exemple -lmabiblio indiquerait que l'�dition de lien se ferait avec le fichier libmabiblio.a

    Je *crois* aussi, sans �tre en mesure d'affirmer quoi que ce soit, ni de fournir la moindre explication dessus, qu'il serait aussi question de l'utilisation d'une variable connue sous le nom LD_LIBRARY_PATH, et qu'il y aurait m�me une commande sp�cifique pour indiquer � ld (l'�diteur de liens) qu'il y a lieu d'ajouter un dossier particulier dans les dossiers utilis�s pour rechercher les biblioth�ques

    Voici, en gros, ce que j'en sais...

    Pour information: DevC++ utilise Gcc pour compiler par d�faut, et je ne serais pas �tonn� qu'il soit en mesure de cr�er des Makefile (s'il ne les utilise pas carr�ment) dans lesquels tu devrais pouvoir retrouver la plupart des variable commun�ment utilis�es, tant pour la compilation que pour les dossiers de destination ou pour les informations � fournir � l'�diteur de liens
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    620
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 620
    Par d�faut
    Salut Koala,

    Merci pour ta r�ponse !
    Je vais me battre avec �a, jusqu a ma mort ou celle du programme !!

    Hugo

  6. #6
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Faudra s�rement pas en arriver � cette extr�mit�...

    Entre temps, tu peux toujours envisager de te tourner vers l'un des gestionnaires de projets existants: beaucoup utilisent autoconf, automake et similaires, mais, quoi qu'il en soit, ils permettent de faciliter les choses pour indiquer quelles biblioth�ques utiliser, ainsi que les dossiers dans lesquels aller les chercher
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  7. #7
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    620
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 620
    Par d�faut
    Ah... voil� une suggestion qu'elle est bonne ! Qu'est-ce que tu conseillerais ? (je suis sous CentOS qui est bas�e sur redhat, apparemment).
    Pour le moment, je me bats avec les bakefile. Si c'�tait pas du chinois, ce serait s�rement g�nial !

Discussions similaires

  1. BLAS: �dition de liens avec libcblas.a
    Par micheldup dans le forum C++
    R�ponses: 2
    Dernier message: 10/10/2007, 01h21
  2. R�ponses: 5
    Dernier message: 17/04/2007, 11h10
  3. Ordre de l'�dition des liens avec GCC
    Par Matthieu Brucher dans le forum Linux
    R�ponses: 6
    Dernier message: 29/08/2006, 07h56
  4. Erreur d'�dition de liens avec __imp__RegCloseKey
    Par gdpasmini dans le forum MFC
    R�ponses: 2
    Dernier message: 23/03/2006, 14h18
  5. Probl�me � l'�dition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres �diteurs
    R�ponses: 4
    Dernier message: 30/11/2003, 14h50

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