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 :

Compiler un .cpp pour g�n�rer un .so


Sujet :

C++

  1. #1
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    14
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Par d�faut Compiler un .cpp pour g�n�rer un .so
    Bonjour j'ai un petit probl�me de compilation.

    Je veux compiler sous linux un fichier .cpp pour en avoir en fin un fichier .so

    Pouvez vous m'aider en me sp�cifiant la d�marche � suivre.

  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
    La faq r�pond � ton probl�me.

    En l'occurence, essaie g++ fichier.cpp -o nom_du_programme -Wall -Wextra -WerrorJe te recommande vivement de lire la faq d'un bout � l'autre.

  3. #3
    Membre exp�riment�

    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2012
    Messages
    108
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Etudiant
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 108
    Par d�faut
    Mhhh... si je peux me permettre pourquoi (?) veux-tu g�n�rer un .so


    G�n�ralement le .so se g�n�re lorsqu'on developpe une bibliotheque.

  4. #4
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Citation Envoy� par Linunix Voir le message
    G�n�ralement le .so se g�n�re lorsqu'on developpe une bibliotheque.
    Justement, c'est peut �tre pour d�velopper une biblioth�que (enfin j'esp�re)
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre exp�riment�

    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2012
    Messages
    108
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Etudiant
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 108
    Par d�faut
    Citation Envoy� par ram-0000 Voir le message
    Justement, c'est peut �tre pour d�velopper une biblioth�que (enfin j'esp�re)
    En console alors...
    car par exemple sur Qt Creator, pas besoin de savoir comment faire... on a juste a s�lectionn� "biblioth�que C++" lorsqu'on veut d�buter le projet, et quand on veut compiler celui-ci, si il n'y a pas d'erreur, il g�n�re le .so

  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
    Salut,
    Citation Envoy� par Linunix Voir le message
    En console alors...
    Oui, et alors
    car par exemple sur Qt Creator, pas besoin de savoir comment faire... on a juste a s�lectionn� "biblioth�que C++" lorsqu'on veut d�buter le projet, et quand on veut compiler celui-ci, si il n'y a pas d'erreur, il g�n�re le .so
    Les EDI, quels qu'ils soient, sont effectivement quelque chose de g�nial pour la gestion de projets.

    Sans balgue: on n'a plus rien � faire: on rajoute comme on veut des fichiers, des d�pendances, bref, tout ce qu'on veut et, en plus, ils fournissent l'auto compl�tion

    Mais bon, le but des biblioth�ques, qu'elles soient statique (libxxx.a) sous dynamique (.so / .dll), est, classiquement, de permettre de les int�grer facilement � diff�rents projets.

    Si l'on cr�e une d�pendance envers un EDI particulier pour la compilation, on limite de facto le cadre dans lequel la biblioth�que peut �tre g�n�r�e, et donc, utilis�e.

    Si on peut envisager de fournir "le n�cessaire" pour pouvoir g�rer le projet dans un EDI ou un autre, il est quand m�me largement pr�f�rable de faire en sorte que la compilation de la biblioth�que (ou de n'importe quel projet, d'ailleurs) puisse s'effectuer � l'aide d'un syst�me d'automatisation de la compilation (autotools, CMake, Makefiles, ...), surtout si l'on veut fournir la biblioth�que sous la forme opensource
    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
    Invit� de passage
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Par d�faut
    Pour g�n�rer une biblioth�que dynamique � partir d'un fichier c++, c'est le m�me principe que pour un fichier c :

    compilation : g++ -c -fPIC mon_fichier.cpp

    liaison : g++ mon_fichier.o -o maLib.so -shared

  8. #8
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par zulu_novembre Voir le message
    Pour g�n�rer une biblioth�que dynamique � partir d'un fichier c++, c'est le m�me principe que pour un fichier c :

    compilation : g++ -c -fPIC mon_fichier.cpp

    liaison : g++ mon_fichier.o -o maLib.so -shared
    Presque. -fPIC ne fait que dire qu'on va g�n�rer un fichier relocable. If faut aussi pr�venir le code qu'on compile de ce fait, en d�finissant la macro PIC.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    g++ -fPIC -DPIC -c mon_fichier.cpp -o mon_fichier.o
    D'un point de vue purement th�orique, �a ne devrait pas �tre n�cessaire - l'utilisation de -fPIC force la d�finition des macros __pic__ et __PIC__, ce qui devrait �tre suffisant. Mais il existe encore beaucoup de code qui se basent dur la macro PIC - il faut donc la d�finir aussi.
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  9. #9
    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
    Ah bon ? Jamais vu un code qui n�cessitait -DPIC !

  10. #10
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par Matthieu Brucher Voir le message
    Ah bon ? Jamais vu un code qui n�cessitait -DPIC !
    C'est ce qu'on appelle de la chance

    gmp 4.3.2, fichier tune/speed.h, ligne 316.

    Pour info, gmp est l'une des composantes majeure de gcc. C'est la librairie bignum de GNU.

    On trouve aussi plusieurs #if defined PIC dans e2fsprogs 1.40.11 (dans intl/relocatable.c).

    En cherchant bien, je devrais pouvoir en trouver d'autres
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  11. #11
    R�dacteur/Mod�rateur
    Avatar de arnolddumas
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2012
    Messages
    978
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : Autriche

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 978
    Par d�faut
    Tu peux aussi faire �a avec CMake, il y a un tutoriel sur le site : http://florian-goujeon.developpez.co...initiation/#LV

Discussions similaires

  1. pr�-compile du .jrxml pour g�n�rer du .jaspr
    Par geforce dans le forum Jasper
    R�ponses: 5
    Dernier message: 03/08/2012, 08h21
  2. R�ponses: 3
    Dernier message: 25/02/2009, 18h09
  3. R�ponses: 4
    Dernier message: 07/05/2007, 08h02
  4. R�ponses: 10
    Dernier message: 22/09/2003, 21h58

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