Перейти к содержанию
    

как в Linux заставить gcc скомпилить для windows?

Сейчас я просто переношу исходники  в windows среду и компилю там. Хочу получать exe прямо в лине. Если нельзя GCC заставить это сделать, то как по другому?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам нужна сборка MinGW под линукс. http://mingw-w64.org/doku.php/download

Это тот же gcc, просто умеющий собирать exe.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 минут назад, viakon сказал:

Хочу получать exe прямо в лине.

apt install mingw-w64

i686-w64-mingw32-gcc main.c

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, viakon сказал:

клипса пишет Toolchain "MinGW GCC" is not detected.

О, новые вводные пошли. Про Эклипсу в исходном вопросе ничего не было. Я свои проекты собираю в ней как Makefile project with existng code, соответственно все параметры сборки указываю в makefile.

Гугля на запрос "Toolchain "MinGW GCC" is not detected." дает довольно много ссылок, нет желания читать их вместо вас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 в том то и дело что там все ссылки для ВИНды. 

Попробовал вместо gcc напрямую указать i686-w64-mingw32-gcc, все сломалось на "fatal error: netdb.h: No such file or directory", действительно в каталоге куда встал mingw такого хедера нет. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предыдущую проблему я вроде победил, но остановился на том что в mingw нет termios.h

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, viakon сказал:

но остановился на том что в mingw нет termios.h

А когда вы делаете так: 

13 часов назад, viakon сказал:

Сейчас я просто переношу исходники  в windows среду и компилю там.

он в windows-среде есть?

 

Предположу, что этот файл используется вами для работы с последовательным портом? Я у себя просто написал две разные реализации класса последовательного порта:

#ifdef  __WIN32

  ....
  
#else   //linux
#include    <fcntl.h>
#include    <sys/ioctl.h>
#include    <unistd.h>
#include    <termios.h>

   ....
  
#endif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, Сергей Борщ сказал:

А когда вы делаете так: 

он в windows-среде есть?

 

 

там cygwin, так что есть. Если вспомнить еще что в лине кодировка UTF-8, а в вин 1251, то, похоже, лучше оставить все как есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вспомнить еще что в лине кодировка UTF-8, а в вин

1251,


Лет 20 уж как с Win2000 "винды" вполне себе юникодные оси или cygwin не юникодный?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У пользователей винда в уникоде кракозябры выдает. А если сделать 1251 проблем не возникает. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, Obam сказал:

 


Лет 20 уж как с Win2000 "винды" вполне себе юникодные оси или cygwin не юникодный?

По-моему вы говорите немного о разном. Хотя "винда" уже давно, как вы правильно сказали, внутри юникодная, но консоль у ней по-прежнему использует однобайтовую кодировку (легаси) и поэтому как сказал @viakon получаются кракозябры. Чтобы перейти в консоли на юникод нужно выполнить дополнительные настройки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, makc сказал:

Чтобы перейти в консоли на юникод нужно выполнить дополнительные настройки.

"Как они ЭТО продают?"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

40 минут назад, Сергей Борщ сказал:

"Как они ЭТО продают?"

Подавляющее большинство пользователей Венды консолью не пользуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 минуты назад, Сергей Борщ сказал:

"Как они ЭТО продают?"

Легко! Как раз стабильная кривизна и заставляет покупать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...