Я играю со средами chroot и хотел бы иметь переносной компилятор C, чтобы я мог легко настроить некоторые базовые инструменты сборки в каждой среде, не перемещая слишком много библиотек.
Gcc кажется довольно ненормальным из-за того, что я хочу сделать, но если довольно просто создать статический gcc, я бы не возражал против нескольких десятков мегабайт.
Я также смотрю на Tiny C Compiler, который меньше, но все же выглядит так, будто у него впечатляющий набор функций. Тем не менее, запуск ./configure --help в директории с исходным кодом не показывает никакой опции для статического построения tcc, и я не уверен, как это можно сделать иначе.
c
gcc
compiler
static-linking
math4tots
источник
источник
Ответы:
Сборка статического двоичного файла должна быть такой же простой, как и запуск gcc с -static, или, если вызывается ld, используйте -Bstatic. Пытаться
после бега
configure
. Если это не удастся, результаты будут очевидны, например, множество неопределенных ссылок во время ссылки.источник
make CFLAGS=-static
только сейчас. Сделайте распечатки с предупреждением о томdlopen
, что когда я пытаюсь запустить исполняемый файл в среде chroot, я получаю/usr/lib/crt1.o .. crti,o .. crtn.o
не найденные ошибки. Это то, что вы имели в виду под «неопределенными ссылками во время ссылки»?Вы также можете получить предварительно скомпилированную версию с помощью static-get
источник