Как создать рабочий исполняемый файл (.exe) из кода C - PullRequest
1 голос
/ 10 мая 2010

У меня есть код C, созданный в Plato3. Я хочу создать исполняемый файл, чтобы я мог поделиться им с другими. Может кто-нибудь сказать, пожалуйста, как это возможно?

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

Пожалуйста, помогите, Спасибо:)

[EDIT]

Программа работает на Windows XP или Vista .. та же ошибка: Используемый компилятор: студия разработки SilverFrost (Fortran / C / C ++) (Plato3)

Это приложение не удалось запустить потому что salflibc.dll не был найден, переустановка приложения может исправить эта проблема

Ответы [ 2 ]

2 голосов
/ 10 мая 2010

salflibc.dll - это библиотека, установленная компилятором на вашей машине для разработки.

  • salf = Salford C Compiler, скрытый компилятор, включенный в Silverfrost
  • libc = библиотека поддержки времени исполнения на языке C, необходимая для основных функций любой программы
  • .dll = динамически связанная библиотека, т.е. отдельный файл из вашего .exe файла

Вы можете найти опцию компилятора, которая выглядит как «статически связанная библиотека времени выполнения»; это может устранить зависимость от DLL. Однако, если бы компилятор мог это сделать, можно было бы ожидать, что он будет по умолчанию, если не единственным способом.

Однако я вспоминаю из давних времен Classic Mac OS, что иногда использовались библиотеки времени выполнения DLL, преимущество которых заключалось в возможности обновления. Иногда - ключевое слово. (Я полагаю, когда поставщик компилятора является поставщиком ОС, как в случае MSVC или Apple GCC, это норма.)

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

1 голос
/ 10 мая 2010

Как минимум, вы должны убедиться, что исполняемый файл работает в той же архитектуре / операционной системе, в которой он был скомпилирован.

Кроме того, необходимо убедиться, что любые сторонние или системные библиотеки, которые необходимы, также доступны в других системах.

обновление

Судя по предоставленной вами новой информации и сообщению об ошибке, похоже, что вам нужно повторно распространить salflibc.dll

Я бы согласился с другими комментаторами и предложил бы другую платформу для разработки, которая была бы более распространенной или поддерживаемой.

...