Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > QT4: скомпилировать бинарник Win32 из-под Linux


Автор: JackYF 21.8.2007, 15:09
Есть Линукс, есть установленная QT4, есть wine. Есть проект, который прекрасно собирается в линуховый бинарник, но надо еще и собрать под Винды(98 - XP). 

Пока что вижу два пути:

1) Установить MinGW под wine, скачать и установить qt-opensource для винды под тем же wine, скомпилировать проект из-под wine.
2) Поставить виртуальную машину, на нее Винду, из-под нее собирать.

1-й путь ничего, но геморройненько.
2-й не нравится вообще, я бы хотел обойтись в данном процессе без Винды вообще.

Возможно, можно проще? Гуглу я свою проблему толком объяснить не смог.

Эту проблему в будущем мне придется решать не один раз.

P.S. долго думал, в какой раздел, запостил сюда. Если что - переместите тему.

Автор: MAKCim 21.8.2007, 16:18
JackYF, 
2-ой вариант, имхо, проще и надежнее
каким бы хорошим не был WINE, а виртуальная машина лучше
по поводу "обойтись без Винды", если хочешь нормально протестить бинарник под разными платформами, ничего лучше, чем использование этой платформы, не найдешь
другого пока предложить не могу

Автор: JackYF 21.8.2007, 19:19
Цитата(MAKCim @  21.8.2007,  16:18 Найти цитируемый пост)
по поводу "обойтись без Винды", если хочешь нормально протестить бинарник под разными платформами, ничего лучше, чем использование этой платформы, не найдешь

это да.

Эх, значит, пока будет универ, до тех пор придется Винду время от времени дергать :(. Спасибо за ответ.

Автор: Любитель 22.8.2007, 10:45
Для тестирования в принципе, конечно, нужна винда. В принципе. При разработке с использованием чистокроссплафторменных средств стейбл-куте достаточно тестинга на лине.

Для кроссдева - смотрим http://www.mingw.org/mingwfaq.shtml#faq-cross. Для дженту, есть специальный кросстулчэйн - sys-devel/crossdev (со множеством поддерживаемых целевых платформ, для каждой, конечно, внутренне потребуются свои средства) smile

Автор: powerfox 24.8.2007, 18:29
Цитата(Любитель @  22.8.2007,  11:45 Найти цитируемый пост)
Для кроссдева - смотрим здесь. Для дженту, есть специальный кросстулчэйн - sys-devel/crossdev (со множеством поддерживаемых целевых платформ, для каждой, конечно, внутренне потребуются свои средства) smile 

- Вы страдаете извращениями?
- Что вы, доктор, я ими наслаждаюсь

Автор: Любитель 25.8.2007, 14:31
powerfox, а если винды нету? smile Или (как у меня) есть винда на втором старом компе (в принципе комп родителей), никаких девелоперских вещей на нём нету. Более того, я до него добраться не всегда могу...

Короче - не вижу изврата smile

Автор: Kekek 26.8.2007, 21:38
Под FreeBSD собрал mingw32 кросс-компилятором. Компилирую им gtk под win32. Всё работает замечательно.

Думаю, что не должно быть проблем и со сборкой QT из-под Linux.


Автор: powerfox 26.8.2007, 21:46
Цитата(powerfox @  24.8.2007,  19:29 Найти цитируемый пост)
- Вы страдаете извращениями?
- Что вы, доктор, я ими наслаждаюсь 

 smile 

Автор: JackYF 26.8.2007, 22:01
Цитата(Kekek @  26.8.2007,  21:38 Найти цитируемый пост)
кросс-компилятором.

поподробнее, коллега. Что за зверь и как называется? Пакета а-ля cross-devel в Дебиане нету.

Автор: bsa 26.8.2007, 22:04
Думаю, это надо собрать соответствующую версию gcc (с поддержкой нужной платформы) и других необходимых утилит.

Автор: Любитель 27.8.2007, 01:12
Ну почти. Если быть точным - нужно собрать МинГВ под линем, так скажем smile Конкретную ссылку (на МинГВ-шный FAQ) я давал выше.

Автор: Kekek 2.9.2007, 08:04
JackYF, Домашняя страница проекта http://www.mingw.org

Используется возможность gcc запускать на одной платформе (Linux), а генерировать код для другой (win32).
Для этого нужно собрать gcc примерено так:
./configure --target=mingw32 --prefix=/usr/local/mingw32

Только перед этим нужно скачать w32api и msys и собрать binutils с --target=mingw32.

Под FreeBSD всё это есть в портах, поэтому собирается автоматом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)