Как скомпилировать .exe для Windows с GCC из-под Linux?
Вопрос: Я написал простой C-код для тестирования:
#include int main(void)
И скомпилировал его с gcc -c main.c , но сгенерировался исполняемый файл (только для Linux) main.o. Если запустить его ./main.o , он отобразит Translaaaaaatooooor. Мой вопрос в том, как я могу скомпилировать main.c, чтобы Windows могла запускать его? В основном, как вы создаете *.exe -файл с GCC в подсистеме Linux? Экзешник созданный командой gcc -o translaaaatoooor.exe main.c не работает в Windows.
Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
Компиляция программы на языке C
Язык программирования С является компилируемым языком. Это означает, что программа, написанная на С, во время компиляции преобразуется в набор инструкций, которые могут быть исполнены непосредственно процессором.
Существует несколько различных компиляторов языка С. Одним из наиболее популярных компиляторов является GNU C Compiler (gcc).
Для того, чтобы скомпилировать программу на С, необходимо сохранить ее в файле с расширением .c, например, helloworld.c. После этого необходимо запустить компилятор командой
В случае успешной компиляции будет создан исполняемый файл с названием a.exe в ОС Windows и a.out в ОС Linux.
Можно указать компилятору имя исполняемого файла, который необходимо создать, дополнив команду следующим образом:
gcc helloworld.c -o helloworld.exe
Как переделать cpp файл в exe»шник без установки сторонних программ?
Допустим я написал прогу на с++.
Так как мне приходится прогить на школьном ноуте, а туда злой дядя админ поставил пароль и ничего не установить, прогу мне запустить негде.
Онлайн компиляторы мне не подходят.
Как мне переделать прогу в исполняемый exe»шник?
Для VB.NET на винде стоит встроенный скрытый компилятор, например.
Но у меня не VB.NET, а С++ )))
- Вопрос задан более двух лет назад
- 3305 просмотров
1 комментарий
Простой 1 комментарий
unixforum.org
Как скомпилировать программу на c под windows (dos)
16 сообщений • Страница 1 из 1
_Gleb_ Сообщения: 467 ОС: Kubuntu 12.04 LTS
Как скомпилировать программу на c под windows (dos)
Сообщение _Gleb_ » 28.12.2007 13:02
Не смог найти ответа на свой вопрос: как с помощью gcc скомпилировать программу под windows (точнее, под dos).
Спасибо сказали:
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: Как скомпилировать программу на c под windows (dos)
Сообщение drBatty » 28.12.2007 13:18
28.12.2007 13:02
Не смог найти ответа
Странно.
Ничего отсюда не подошло? Это конечно не просто(насколько я помню). Но возможно, я собирал когда-то давно.
PS: Похоже я понял, вы хотите собрать под Linux программу для DOS? Попробуйте компилятор из ссылки выше, а для входа в «DOS» используйте wine cmd
Скоро придёт
Осень
Спасибо сказали:
_Gleb_ Сообщения: 467 ОС: Kubuntu 12.04 LTS
Re: Как скомпилировать программу на c под windows (dos)
Сообщение _Gleb_ » 28.12.2007 16:34
Я хочу скомпилировать *.c файл так, чтобы на выходе получился экзешник под dos. Думал, что есть какой-то более-менее простой способ. Вроде: задать какие-то ключи для cc и получить на выходе *.exe вместо a.out. Про Cygwin мне говорили, что им можно закомрилировать, но он присобачит dll’ку, без которой исполняемый файл не будет запускаться. А там все-то два файла строк по 80 в каждом. Завязывать их на dll как-то не хочется. Пробовал скачать Borland C++ Builder. Скачал, установил через wine. Пытался скомпилировать через
wine cpp32 .exe gcd.c
ъ
Он ругается, что не находит подключаемых библиотек. В общем, не знаю, что ещё можно попробовать.
Спасибо сказали:
/dev/random Администратор Сообщения: 5216 ОС: Gentoo
Re: Как скомпилировать программу на c под windows (dos)
Сообщение /dev/random » 28.12.2007 17:19
28.12.2007 16:34
Я хочу скомпилировать *.c файл так, чтобы на выходе получился экзешник под dos.
.
Пробовал скачать Borland C++ Builder.
Так билдер же вроде только под вынь компилирует! Консольные программы умеет делать, но это будут именно консольные виндовские, а не досовские.
А если нужно виндовскую (консольную или графическую — не важно), можно попробовать mingw32. Он, в отличие от cygwin, кажется, не требует дополнительных dll’ок.
Спасибо сказали:
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: Как скомпилировать программу на c под windows (dos)
Сообщение drBatty » 28.12.2007 17:43
28.12.2007 16:34
Он ругается, что не находит подключаемых библиотек.
помогает обычный способ: копируете сообщение в окошко гугла, и читаете о решении проблемы. При общении с виндузятниками, не рассказывайте про wine cmd — обидятся А вообще, зря вы взяли бильдер, разве такую короткую программу нельзя скомпилировать чем-то действительно досовским? Например quickC или как там его звали?
Скоро придёт
Осень
Спасибо сказали:
yaleks Сообщения: 2121 Статус: вне статуса ОС: Gentoo ~
Re: Как скомпилировать программу на c под windows (dos)
Сообщение yaleks » 28.12.2007 19:11
28.12.2007 16:34
Он ругается, что не находит подключаемых библиотек. В общем, не знаю, что ещё можно попробовать.
А вообще что требуется? Приложение DOS или консольное win32?
Спасибо сказали:
_Gleb_ Сообщения: 467 ОС: Kubuntu 12.04 LTS
Re: Как скомпилировать программу на c под windows (dos)
Сообщение _Gleb_ » 28.12.2007 22:28
А как настроить dosemu, чтобы количество символов в строчке было таким, как надо?
Спасибо сказали:
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: Как скомпилировать программу на c под windows (dos)
Сообщение drBatty » 29.12.2007 00:44
28.12.2007 22:28
А чем вам wine cmd не гоже? Какая вообще цель этого проекта?
28.12.2007 19:11
А вообще что требуется? Приложение DOS или консольное win32?
Скоро придёт
Осень
Спасибо сказали:
_Gleb_ Сообщения: 467 ОС: Kubuntu 12.04 LTS
Re: Как скомпилировать программу на c под windows (dos)
Сообщение _Gleb_ » 29.12.2007 02:51
29.12.2007 00:44
А чем вам wine cmd не гоже?
gleb@linux-v34s:~> wine cmd wine: could not load L"c:\\windows\\system32\\cmd.exe": Module not found