Наименьший возможный пакет для распространения MinGW с другой программой - PullRequest
0 голосов
/ 21 августа 2011

Я работаю над языком программирования с открытым исходным кодом и хочу, чтобы мои пользователи могли распространять автономные файлы .exe из своих программ.Моя стратегия состоит в том, чтобы иметь 3 компонента:

  1. DLL, которая содержит интерпретатор
  2. Небольшой объектный файл .o (сгенерированный один раз из C), который вызывает DLL для запуска выполнения
  3. Сгенерированный файл .o, который содержит двоичное представление программы пользователя, который должен быть встроен в виде двоичного двоичного объекта с # 2.

Когда пользователь запрашивает .exe, # 2и # 3 связаны друг с другом, и результирующий исполняемый файл может быть распространен с # 1.Пока все хорошо.

Проблема, с которой я столкнулся сейчас, заключается в том, что это означает, что MinGW должен быть связан с языком, чтобы выполнить этап связывания.Я не хочу, чтобы мои пользователи загружали MinGW вручную (моя основная аудитория - дети), а стандартный дистрибутив MinGW составляет более 100 мегабайт, поэтому комплектация всего этого испортила бы минимализм загрузки моего языка (сейчас это ~ 5 мб)).

У меня такой вопрос: существует ли окончательный список файлов, которые нужно вытащить из \ MinGW и связать с самим языком, что заставило бы g ++. Exe работать для связи двух файлов .o и необходимых библиотеквместе?

Также приветствуются альтернативные решения (например, свободно распространяемый компилятор C ++, который легче связать с другими приложениями).

1 Ответ

0 голосов
/ 21 августа 2011

Вы можете попробовать использовать Dependency Walker и вырвать g ++ из MinGW. Это сгенерирует ваш список зависимостей. В качестве альтернативы, вы можете использовать cygwin , что уменьшит вашу площадь до 15 мегабайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...