Compilation gcc sous linux

Résolu
cs_snake6 Messages postés 29 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 10 octobre 2010 - 10 oct. 2010 à 13:26
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 16 oct. 2010 à 12:30
Bonjour,

je voulais savoir si en compilant un programme en c sous une distribution linux je pourrais exécuter le résultat sous une autre distribution ?

Merci d'avance pour vos réponses

A+

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
10 oct. 2010 à 18:37
Oui, tout à fait, tant que c'est un Linux. Une distribution n'est qu'un regroupement de logiciel choisis (pour vulgariser).

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
16 oct. 2010 à 12:30
Salut,

Je connais peu linux mais il me semble que ce n'est malheureusement pas si simple.
Déjà, la portabilité d'un linux à l'autre est historiquement bien plus assurée au niveau du source qu'au niveau du binaire. Il ne faut par exemple pas espérer exécuter une appli compilée en 64 bits sur un linux 32, ou sur un linux tournant sur une machine moins orthodoxe, zSeries ou autre. Même exécuter une appli 32 sur un linux 64 n'est pas forcément évident malgré la compatibilité niveau processeur et peut nécessiter des paquets supplémentaires (Genre ia32-libs).

Un deuxième problème est lié aux librairies utilisées. Suppose que tu travailles sur une appli gtk à l'aide de ta ubuntu/gnome... La faire tourner sur une Mandriva plutôt orientée kde/qt, c'est possible, mais ça ne ce fera pas sans installation et sans possible réticence de l'utilisateur. Et ton application risque de faire décalée au milieu des applis QT.

Enfin, même dans le cas où tu ne ferais qu'utiliser la librairie standard, tu risques une différence de version de la glibc/libc.so.6. Par exemple, si tu compiles sur ta machine avec une glibc 2.4 et que la machine cible a une 2.3.6, tu aura un joli message d'erreur.

Donc au final, il me semble que les appli linux se promène plutôt sous forme de source + configure. Ces sources sont ensuite compilés sous formes de paquets spécifiques à une ou plusieurs distrib.
0
Rejoignez-nous