Всем добрый день. Ситуация следующая, Есть небольшая программа которая работала только на линуксе, недавно смотрю в нете появилась на виндовс платформе, работет как в консоле, фенкционал при этом не изменился. Позднее погуглил, понял что можно линукс программы портировать под виндовс, что и сделали её разработчики. Для этой цели как я понял используется некий софт cygwin.
Такой вопрос, могули ли я доставить в свой линукс cygwin, чтоб при сборке make win, проект компилировался для виндовс, в make файле всё уже прописано.
???.
Помогите собрать кросплатформенную программу (Linux-OK, Win-Err ???)
Модератор: Модераторы разделов
-
west329
- Сообщения: 4
Помогите собрать кросплатформенную программу
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: Помогите собрать кросплатформенную программу
Советую для начала почитать где-нибудь, хоть в википедии, чтотакое cygwin, что такое mingw, и чем они отличаются.
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: Помогите собрать кросплатформенную программу
west329, а то, что вы описАли, называется кросс-компиляцией...
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
west329
- Сообщения: 4
Re: Помогите собрать кросплатформенную программу
Мне самому интересно как софт написанный изначально на линуксе работает под виндовсом, и самое главное собирается без корекции сырцов.
Вот строки из маке
я не профи в линуксе и тем болле в кросплатформенных сборках, прошу направить на путь правильный, почитал немного, понял что нужно для сборки MinGW, вот только незнаю как..
Кстати пробовал на линуксе исходники собираются без проблем.
р.с. Пробовал это дело компилировать в cygwin в виндовс среде, нехочет ругается.
Вот строки из маке
Код: Выделить всё
linux: i386-pc-linux
freebsd: i386-pc-freebsd
tuxbox: cross-powerpc-tuxbox-linux
win: cross-i386-pc-cygwin
cygwin: i386-pc-cygwin
std: linux \
cross-i386-pc-cygw
...
...
...
...
######################################################################
#
# Cygwin crosscompiler
#
######################################################################
cross-i386-pc-cygwin:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_CYGWIN32" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=i686-pc-cygwin-gcc \
DS_AR=i686-pc-cygwin-ar \
DS_LD=i686-pc-cygwin-ld \
DS_RL=i686-pc-cygwin-ranlib \
DS_ST=i686-pc-cygwin-strip
######################################################################
#
# Cygwin native
#
######################################################################
i386-pc-cygwin:
@-$(MAKE) --no-print-directory \
-f Maketype TYP=$(subst cross-,,$@) \
OS_LIBS="" \
OS_CULI="-lncurses" \
OS_PTLI="-lpthread" \
DS_OPTS="-O2 -DOS_CYGWIN32 -I /tmp/include" \
DS_CFLAGS="-c" \
DS_LDFLAGS="" \
DS_ARFLAGS="-rvsl" \
DS_CC=gcc \
DS_AR=ar \
DS_LD=ld \
DS_RL=ranlib \
DS_ST=strip
...
...
...
...я не профи в линуксе и тем болле в кросплатформенных сборках, прошу направить на путь правильный, почитал немного, понял что нужно для сборки MinGW, вот только незнаю как..
Кстати пробовал на линуксе исходники собираются без проблем.
р.с. Пробовал это дело компилировать в cygwin в виндовс среде, нехочет ругается.
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Помогите собрать кросплатформенную программу
Очень просто - используется кроссплотформенные библиотеки - stl, boost, qt etc.
Другое дело когда приложение написано с использованием ОС API, тогда нужна эмуляция.
скорее всего необходимых библиотек нету ...
хотя оно тебе надо ? Я имею в виду сборку под cywin ? Там очень медленно все работает.
У MS есть некий продукт (300 метров с чем-то, название забыл), включает в себя linux core-utils, с компилятором. Работает намного быстрее, правда проект этот закрыли несколько лет назад, всмысле развитие прикратили, скачать его еще можно.
-
west329
- Сообщения: 4
Re: Помогите собрать кросплатформенную программу
GRS писал(а): ↑12.09.2008 15:42
Очень просто - используется кроссплотформенные библиотеки - stl, boost, qt etc.
Другое дело когда приложение написано с использованием ОС API, тогда нужна эмуляция.
скорее всего необходимых библиотек нету ...
хотя оно тебе надо ? Я имею в виду сборку под cywin ? Там очень медленно все работает.
У MS есть некий продукт (300 метров с чем-то, название забыл), включает в себя linux core-utils, с компилятором. Работает намного быстрее, правда проект этот закрыли несколько лет назад, всмысле развитие прикратили, скачать его еще можно.
Хочу хоть одним способом попробовать собрать, и выдавить ехе файл, но никак.
Нащет скорости не переживаю программа небольшая килобайт 250, обрабатывает данны с ком порта и назад выкидывает.
Получится собрать через MinGW или нужно cygwin мучать, растолкуйте файл make, Cygwin crosscompiler и Cygwin native ??
-
Stauffenberg
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Помогите собрать кросплатформенную программу
Так а что за продукт-то?
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
sendmoreinfo
- Сообщения: 50
Re: Помогите собрать кросплатформенную программу
-
west329
- Сообщения: 4
Re: Помогите собрать кросплатформенную программу
sendmoreinfo писал(а): ↑12.09.2008 22:45
Да, это делается примерно так: http://x.cygwin.com/docs/cg/prog-build-cross.html
Благодарю за ссылку, что-то подобное искал. Буду разбиратся. Возникнут вопросы отпишусь