LINUX.ORG.RU

Извращенная кросскомпиляция


0

0

Возможно ли собрать бинарник windows-приложения под линукс?

Что-то типа такого:
1) установить wine
2) установить cygwin под wine
3) скомпилировать приложение в cygwin
4) каким-то образом собрать инсталлятор (тут у меня идей нет)
5) PROFIT

Где можно почитать howto по всему процессу или его частям?

cygwin под wine не получится

gavv
()

dcc32.exe borland delphi compiler прекрасно чувствует себя под wine,
в отличие от оболочки(которая в принципе не нужна, иногда можно было бы лениво подебажить).
Makefile содержит в себе конструкции вида:

DCC32EXE=WINEDEBUG=-all wine $(compiler_dir)/compiler/DCC32.EXE

$(build_dir)/sprdropdown.bpl:\
$(src_dir)/sprdropdown/*.* \
$(build_dir)/rtl4.bpl
echo ---------------------------------------------------; \
echo == SprDropDown.bpl; \
echo ---------------------------------------------------; \
cd $(src_dir)/sprdropdown; \
$(DCC32EXE) sprdropdown.dpk $(module_compile_keys)


Ну вот как-то так.

TBEPDb
()

Как-то на глаза статья попадалась - там вайн с exe-шников в rpm закатывали.
Гугловое поделие какое-то (пикаса?) так распространялось.

power
()

Как делал я:

  • ставил под wine dev-c++
  • писал скрипт, который конвертировал Makefile под него
  • ???
  • PROFIT

makewin.sh:

#!/bin/sh

# Copy original makefile
cp Makefile Makefile.win

# Change compiler and libs
sed 's:g++:C\:/Dev-Cpp/bin/g++:' -i Makefile.win
sed 's:LIBS = :LIBS = -L"C\:/Dev-Cpp/lib" -mwindows -lmingw32 :' -i Makefile.win
sed 's/-lGL/-lopengl32/' -i Makefile.win
sed 's/-lGLU/-lglu32/' -i Makefile.win
sed 's/-lSDL/-lSDLmain -lSDL/' -i Makefile.win

# Change BIN
sed 's/game/game.exe/' -i Makefile.win


make clean
wine 'C:\Dev-Cpp\bin\make.exe' -f Makefile.win
rm Makefile.win
Если не поймешь, стучи в жаббер

xorik ★★★★★
()

если я правильно понял вопрос (например, из-под линукса компилить одновременно и линуксовый бинарник, и виндовый), то в дебиане ставится пакет ...четотам...mingw

я собирал sdl-ные примеры сразу под 2 платформы

www_linux_org_ru ★★★★★
()

В линукс можно создавать бинарники под виндовс. Открывайте синаптик (если вы используете убунту) и ставьте mingw. никакие вайны не нужны. что вы с ума все посходили чтоли?

pa23
()

да.. после установки пакета mingw собрать приложение можно например командой: i586-mingw32msvc-g++ *.cpp -o myprog.exe -O2

pa23
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.