Je joue avec des environnements chroot, et j'aimerais avoir un compilateur C portable afin que je puisse facilement configurer des outils de construction de base dans chaque environnement sans avoir à déplacer trop de bibliothèques.
Gcc semble assez lourd pour ce que je veux faire, mais s'il est raisonnablement facile de construire un gcc statique, cela ne me dérangerait pas de quelques dizaines de mégaoctets.
Je regarde également le compilateur Tiny C, qui est plus petit mais semble toujours avoir un ensemble de fonctionnalités impressionnant. Cependant, l'exécution de ./configure --help dans le répertoire source ne répertorie aucune option pour la construction statique de tcc, et je ne sais pas comment cela pourrait être fait autrement.
c
gcc
compiler
static-linking
math4tots
la source
la source
Réponses:
Construire un binaire statique devrait être aussi simple que d'exécuter gcc avec -static, ou si ld est appelé directement, utilisez -Bstatic. Essayer
après avoir couru
configure
. S'il échoue, les résultats seront évidents, par exemple des radeaux de références non définies au moment de la liaison.la source
make CFLAGS=-static
tout à l'heure. Faire des impressions sur certains avertissementsdlopen
, puis lorsque j'essaie d'exécuter l'exécutable dans l'environnement chroot, je/usr/lib/crt1.o .. crti,o .. crtn.o
ne trouve pas d'erreurs. Est-ce ce que vous entendiez par "références non définies au moment du lien"?Vous pouvez également récupérer une version précompilée avec static-get
la source