LinuxForum.Fans
Тема

MinGW под линуксом

Автор: gen 12 сообщений 3279 просмотров
#248041

под линуксом очень удобно работать с QT. QWT например с полпинка ставится.
вопрос: я не хочу ставить в винде MinGW компилить QT, QWT и тд. Можно ли в линуксе с помощью MinGW32 сделать PE фаил?

кто-нибудь пробовал такое делать?

#248046

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

text
 ./configure --help

выполняли?

#248048

я собирал с помощью winegcc, но минимальные проги, на голом винапи...
как вариант "мастерства" - это прикрутить winegcc к qt-creator'у.
для сборки чего-то большего требуются нативные виндовые библиотеки...

кто-то где-то советовал ещё линуксовый mingw использовать, но не помню, чем это закончилось...

ещё пробовал qt-creator с mingw и всеми плюшками ставить под вайном...

ЗЫ: вообще где-то тема была про это года полтора назад...

#248583
yars написал:
A зачем такой огород - у многих программ есть возможность собрать их нативным компилятором для другой цели... Вы
text
 ./configure --help

выполняли?

А соберется ли? ) Потом может возникнуть кучи проблем связей, зависимостей... Не хотелось бы идти длинным и мучительным путем, поскольку это не сама цель.

#248585
Fat-Zer написал:
я собирал с помощью winegcc, но минимальные проги, на голом винапи...
как вариант "мастерства" - это прикрутить winegcc к qt-creator'у.
для сборки чего-то большего требуются нативные виндовые библиотеки...

кто-то где-то советовал ещё линуксовый mingw использовать, но не помню, чем это закончилось...

ещё пробовал qt-creator с mingw и всеми плюшками ставить под вайном...

ЗЫ: вообще где-то тема была про это года полтора назад...

ну вот было бы интересно услышать тех кто имел с этим дело.
Вот я например поставил mingw , потом в настройках qt-creator прописываю пути компилятора, линковщика и тд.... И он уже без лишних трабл компилит код? Вообщем нужен опыт чей-нибудь... Просто в скором времени(через месяц, 2) займусь этим делом и не хочу наступать на грабли...

#248586
"gen" написал:
А соберется ли? ) Потом может возникнуть кучи проблем связей, зависимостей... Не хотелось бы идти длинным и мучительным путем, поскольку это не сама цель.

Да уж, на моей машине Qt компилился часа 3, если не больше :) А под вайном - так PE там получается именно что под вайн, для запуска под виндовс не предназначенный... Хотя теретически он может под ним запуститься, но не знаю, будет ли работать.

"Fat-Zer" написал:
ещё пробовал qt-creator с mingw и всеми плюшками ставить под вайном...

У вас получилось?

#249142

как\где в КуТе изменить команду компиляции.
То есть по стандарту gcc запускается с некоторыми параметрами, как изменить эту строку сборки?

#249147

Ну есть же скрипт configure, вот смотрите вывод

text
./configure --help

и выбираете нужные опции, затем запускаете, указав эти опции в командной строке.

А мне проще,
вот часть слакбилда
text
$cat *Build
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
./configure \
  -confirm-license \
  -opensource \
  -prefix /usr/lib${LIBDIRSUFFIX}/qt \
  -qt-gif \
  -fast \
  -system-libpng \
  -system-libjpeg \
  -system-zlib \
  -qt-sql-sqlite \
  -plugin-sql-sqlite \
  -dbus \
  -webkit \
  -no-phonon \
  -nomake examples \
  -nomake demos \
  -no-separate-debug-info \
  -no-pch \
  -qt3support

Или вы не про то? Если да, то тогда извиняюсь.

#249167
"yars" написал:
./configure --help

autotools закопать и забыть... а вообще: не в тему...

"yars" написал:
У вас получилось?

ну да... а чего там сложного? толькл мышкой покликать...

"yars" написал:
А под вайном - так PE там получается именно что под вайн, для запуска под виндовс не предназначенный...

PE он и в африке PE... только вот там вообще PE не получится...

"gen" написал:
То есть по стандарту gcc запускается с некоторыми параметрами, как изменить эту строку сборки?

qmake берёт это всё(компиляторы, пути библиотек/инклюдов итп) из переменных среды, из своего конфига и spec'ов. по идее лучше всего использовать последний способ...
в помощь, вторая ссылка в гугле: http://habrahabr.ru/post/98131/
осталось придумать как всё это аккуратно подсунуть креатору...
ЗЫ: вообще в qmake всё это как-то запутано...

#249204
"gen" написал:
Можно ли в линуксе с помощью MinGW32 сделать PE фаил?
кто-нибудь пробовал такое делать?

Ну ни что не мешает в ручную собрать компилятор MinGW из под linux для сборки обычно требуются еще собранные пакеты mingw-w32api и mingw-runtime

Когда то собирал с исходника gcc-3.3.6 и binutils-2.15
gcc собирал командой:

text
./configure --target=i386-mingw32 --prefix=/opt/minigw --enable-languages=c,c++

binutils уже не помню какой командой, путь для всех был каталог /opt/mingw там же и размещались mingw-w32api и mingw-runtime
Собирал файл командой:

text
$ i386-mingw32-g++ -o test.exe test.cpp -L"/opt/minigw/i386-mingw32/lib" -mwindows

В результате получал готовый исполняемый файл test.exe который работал что в винде что в вайне.
Только QT4 собирать не пробовал (
Ну и винды уже под рукой больше нет.

#250307

спасибо, обязательно попробую

#250498

ради интереса сделал ручную сборку mingw из пакетов w32ip-3.17.2 mingw-runtime-3.18-1 binutils-2.21.1 и gcc-4.5.3

Проверил тестовый файл test.c:

text
#include <windows.h>
  int WINAPI WinMain (HINSTANCE hInstance, 
                       HINSTANCE hPrevInstance, 
                       PSTR szCmdLine, 
                       int iCmdShow) 
  
     MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
     return (0);
  }
text
$ export PATH=$PATH:/opt/mingw/bin

$ i686-mingw32-gcc test.c -o test.exe -mwindows

Вроде род вайном работает норм.
objdump -f test.exe

text
test.exe:     file format pei-i386
architecture: i386, flags 0x00000102:
EXEC_P, D_PAGED
start address 0x004012b0

тыц
хотелось бы узнать у кого эта сборка тоже работать будет.

Войдите или зарегистрируйтесь, чтобы ответить.