Вопрос

Я знаю, как использовать g ++ и все такое для компиляции программ на c ++.Мой вопрос в том, если у меня есть какой-то код, который зависит от различных библиотек, как я могу скомпилировать его в простой исполняемый файл, который я могу отправить кому угодно.Для этого я был бы рад просто сохранить его в os x.

Я хотел бы знать, как скомпилировать "настоящую" программу, а не просто исполняемый файл, который я могу запустить локально.Я пробовал погуглить это, но почти ничего не нашел.

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

Это было полезно?

Решение

Вы ищете "статическое связывание".Это позволит импортировать весь необходимый код из библиотек в ваш исполняемый файл.Обратите внимание, что исполняемый файл станет больше.Если вы используете стандартные библиотеки, они должны присутствовать при стандартной установке ОС.

Вам следует попробовать использовать флаг "-static" в g ++.Запуск "ldd your_executable_name" должен отобразить все библиотеки, используемые вашим исполняемым файлом (связанные динамически).

Другие советы

Поскольку вы говорите о Mac OS X, вы, вероятно, хотите создать пакет.Программное обеспечение Qt обладает очень полезным руководство по развертыванию за то, что вы начали заниматься этим видом деятельности.

Вы можете использовать опцию -static или -s для статического связывания в gcc или g ++

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top