Qt és C++ , *.exe létrehozás Linux alól

Fórumok

Ismerkedni kezdtem a Qt és C++ -al ez az irodalom alapján:
http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip
Az első alkalmazás Hello Qt lefordítása után felmerült bennem a kérdés, hogyan tudok Linux alól win-en is futtatható exe-t fordítani?

Kevés angol tudásommal én azt következtettem ki a könyvből, hogy olyan programot fordit amilyen környezetben használjuk a fordítót.

Elég hitetlenek találom ezért rákérdezek, hogy tudok Linux alól win-en is futtatható exe-t fordítani?

forrás[hello.cp]:

#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}

parancsok:
qmake -project

Létrejön egy qt.pro fájl a könyvben hello.pro (ezt nem tudom miért nem egyezik, de nem érdekes)
qmake qt.pro
Létrejön egy Makefile fájl
make
Létrejön egy qt nevű futtatható fájl.

Azt szeretném ha létrejönne qt.exe is és azt kipróbálhatnám wine-vel.

Szerkesztve:
Ubuntu 8.10 -et használok

Hozzászólások

A MinGW nevű cross compiler-t kell használnod g++ helyett.
Nem tudom milyen disztribúciót használsz, nekem ubuntu 9.04 van, és benne van a repóban mingw32 néven.

Szerk.: így néz ki egy egyszerű c++ programo fordítása mingw-vel:

i586-mingw32msvc-g++ -Wall hello.cpp -o hello

zolti@zolti:~/documents/qt$ i586-mingw32msvc-g++ hello.cpp
hello.cpp:1:28: error: QApplication: Nincs ilyen fájl vagy könyvtár
hello.cpp:2:27: error: QPushButton: Nincs ilyen fájl vagy könyvtár
hello.cpp:13:6: warning: no newline at end of file
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:6: error: ‘QApplication’ was not declared in this scope
hello.cpp:6: error: expected `;' before ‘app’
hello.cpp:8: error: ‘QPushButton’ was not declared in this scope
hello.cpp:8: error: expected `;' before ‘hello’
hello.cpp:9: error: ‘hello’ was not declared in this scope
hello.cpp:12: error: ‘app’ was not declared in this scope

esetleg egy make clean-t ha lefuttatsz előtte?
Amúgy ez csak egy tipp. Ami azt illeti qt projektet nem fordítottam mingw-vel linuxon, csak egyszerűbb progikat, azok simán lefordultak.
Valószínűnek tartom, hogy előbb be kell majd másolni a Qt-s header fájlokat a mingw include könyvtárába (nálam /usr/lib/gcc/i586-mingw32msvc -n belül van), de ezügyben google meg a mingw weboldala szerintem okosabb mint én :P Nézz utána ;)

Szerk.:
Nem foglalkozom tovább vele, tanulni jó lesz így is
Én is mostanság kezdtem Qt-t tanulni és én is kb ugyanitt untam meg a dolgot(gondoltam majd ha winre is le akarok fordítani valamit, majd jobban belemerülök a témába) :DD

"Létrejön egy qt.pro fájl a könyvben hello.pro (ezt nem tudom miért nem egyezik, de nem érdekes)"
A projektfájl neve a könyvtár nevével egyezik meg, melyben a forrás van.

eleg sok howto-t talalni a neten qt crosscompile-lal kapcsolatban
en a (nekem) legegyszerubb megoldast valasztottam: a virtualis xp-re felraktam a qt-t, es a virtualbox shared directory-knak koszonhetoen a projectem windowsra forditasa annyi, hogy a virtualis gepet felebresztem alvasbol, nyomok neki egy qmake/make kombot, es kesz az exe, virt.gep elaltat es ennyi
az egesz a forditason kivul kb. 10 mp

Köszönöm mindenkinek a választ.