Compiler Autonome Statique Exécutable
Je suis en train de compiler un exécutable (fichier ELF) ne pas utiliser un chargeur dynamique. J'ai construit un cross compilateur qui compile mips de linux à être utilisé sur un simulateur que j'ai fait. J'ai affirmé le drapeau -static-libgcc sur la compilation de mon hello.cpp fichier (programme "hello world"). Apparemment ce n'est pas assez cependant. Car il y a encore un segment dans mon exécutable qui contient le chemin/nom du chargeur dynamique. Quels flags dois-je utiliser pour générer un exécutable qui contient TOUT le nécessaire pour être exécuté? Ai-je besoin de reconstruire ma cross compilateur?
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser le
-static
drapeau?Les cases ci-dessous pour relier
Utiliser ces trois indicateurs pour le lier avec les versions statiques de toutes les dépendances (en supposant que gcc). Notez que dans certaines situations, vous n'avez pas nécessairement besoin tous les trois drapeaux, mais ils ne sont pas "mal" non plus. Par conséquent, il suffit de tourner sur tous les trois.
Vérifier si elle a effectivement travaillé
Assurez-vous qu'il n'y a pas vraiment de lien dynamique
devrait revenir "pas une dynamique exécutable" ou quelque chose d'équivalent.
Assurez-vous qu'il n'y a aucun suspens symboles de gauche
La liste doit être vide ou doit contenir seulement quelques noyau de l'espace des symboles comme
Enfin, vérifiez si vous pouvez réellement exécuter votre exécutable