Ада, как упаковать код Ады в независимый exe-файл?

Я использую GNAT Programming Studio 2011.

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

Спасибо! Солнечно


person sunny2016    schedule 05.09.2011    source источник
comment
Я благодарен за всю вашу помощь. И как включить общие библиотеки в мой установочный пакет? Использовать -static? Не могли бы вы рассказать мне шаги? Например, я уже компилировал свой файл main.adb и получил файл main.exe в моем рабочем пути GPS. Что я должен делать дальше?   -  person sunny2016    schedule 08.09.2011


Ответы (3)


Вы можете добавить -static к флагам компоновщика. Затем все общие библиотеки будут помещены в исполняемый файл. Но не плачь о размерах тогда ;)

person Rommudoh    schedule 05.09.2011
comment
Спасибо за вашу помощь! А не могли бы вы рассказать мне шаги? Где же флаг компоновщика можно было добавить -static? Что за исполняемый файл? Это основной файл? Извините, я новичок. Будьте здоровы! - person sunny2016; 08.09.2011
comment
если вы используете GPS, откройте настройки проекта. слева есть вкладка «Переключатели», под ней есть вкладка «Линкер». Там вы можете добавить нужные флаги компоновщика в текстовое поле. - person Rommudoh; 08.09.2011

Когда вы настроили GPS для своего проекта, вы указали, как вызывать и где размещать вашу основную программу.

Этот файл является вашим «exe»-файлом (будь то «.exe» для Windows или как вы его назвали для других сред на базе Unix), содержащим весь ваш код.

Если в вашей программе используются какие-либо общие библиотеки или вспомогательные данные или файлы конфигурации, они должны быть либо уже установлены на целевой машине, либо должны быть включены как часть вашего установочного пакета.

Поскольку у вас есть «основной» исполняемый файл, это просто становится вопросом установки пакета. Если вы работаете в Windows, вам доступен ряд утилит установщика, а для Linux есть различные варианты упаковки, такие как rpm и deb. И всегда есть возможность просто предоставить (сжатый) tar-файл иерархии каталогов выполнения.

person Marc C    schedule 05.09.2011
comment
Еще раз спасибо, а как включить общие библиотеки в мой установочный пакет? Не могли бы вы рассказать мне шаги? Например, я уже компилировал свой файл main.adb и получил файл main.exe в моем рабочем пути GPS. Что я должен делать дальше? - person sunny2016; 11.09.2011

Я предпочитаю GNAT для разработки, но MinGW — удобная альтернатива для подготовки .exe файлов.

Приложение: обратите внимание, что MinGW происходит от FSF GNAT и модифицированная общедоступная лицензия GNAT будет применяться к распространению кода, скомпилированного с помощью MinGW. Перед распространением кода, скомпилированного с помощью GNAT Programming Studio 2011, вы должны проверить лицензию, прилагаемую к вашей копии. Соответствующее обсуждение можно найти здесь.

person trashgod    schedule 05.09.2011
comment
MinGW включает компиляторы C, C++, ADA [так в оригинале] и Fortran. Он также генерирует .exe файлов. - person trashgod; 06.09.2011
comment
Вопрос был о GNAT, а не о других компиляторах. - person Rommudoh; 06.09.2011
comment
Спасибо за объяснение вашего отрицательного голоса, но я считаю, что это необоснованно. MinGW — это удобный способ упаковать код, разработанный с помощью GNAT. - person trashgod; 06.09.2011