Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: crosscompilen cmake mingw  (gelezen 878 keer)

Offline niekn

  • Lid
    • omega-xis
crosscompilen cmake mingw
« Gepost op: 2013/01/03, 13:01:43 »
beste heren

ik heb laatst een plugin-geschreven voor de composer van performous zodat hij soramimi-files kan openen.
voortgang staat hier:  https://github.com/nieknooijens/composer-smmtxt
de standaard cmake.. make en make install werkt perfect op ubuntu, alleen nu wil ik dat hij niet g++ maar i586-mingw32msvc-g++ gebruikt. (zodat ik een windows-binary krijg)
als ik dat doe dan kan hij ineens geen enkele library meer vinden, als ik handmatig naar /usr/include/ wijs dan vind hij een hoop weer maar qt4 (/usr/share/qt4) blijft een probleem.
hoe cross-compile ik deze voor windows?

Re: crosscompilen cmake mingw
« Reactie #1 Gepost op: 2013/01/03, 17:18:54 »
Ik vrees dat het eenvoudigste is om gewoon onder Windows te compileren...

Ten eerste heb je een gecrosscompilede Qt4 voor Windows nodig. Ten tweede moet CMake om qt te kunnen gebruiken QMake nodig, je weet wel, die qmake die je net gecrosscompiled voor Windows. Dus moet je die — en alle andere qt-tools zoals MOC en RCC — via Wine draaien... Daar ga een paar wrapper-scripts voor moeten schrijven die je dan via de betrokken parameters aan cmakedoorgeeft (QT_XXX_EXECUTABLE). Ook moet je je cross-compiler en linker aan CMake geven (CMAKE_C(XX)_COMPILER, CMAKE_LINKER, waarschijnlijk nog een crapton aan anderen).

Lees ook dit even door: http://www.cmake.org/Wiki/CMake_Cross_Compiling

Als je om een of andere reden geen Windows kan/wil draaien, kan je nog steeds proberen MingW/MSys onder Wine te installeren...
« Laatst bewerkt op: 2013/01/03, 17:20:37 door SeySayux »
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline niekn

  • Lid
    • omega-xis
Re: crosscompilen cmake mingw
« Reactie #2 Gepost op: 2013/01/04, 10:16:55 »
de grap is dat ik het eerst op windows heb geprobeerd! het ging als volgt:
1 installeer qt-creator, je kunt nu nog niets!
2 installeer qt libraries (die installeert hij NIET standaard mee)
3 installeer minGW compiler (windows heeft er standaard geen!)
4 installeer Cmake
5 installeer GIT
6 installeer Phonon library
7 installeer FFMpeg
8 installeer libAvbutil, LibAVcodec en libAVFormat
9 open GIT en cloon je repo
10 open cmake-gui en wijs naar je broncode
11 cmake zal error na error geven! wijs HANDMATIG naar alle bibliotheken.
12 kom erachter dat hij de compiler niet aan de praat krijgt en geef het op.

de grap is dat ik minGW op linux wel aan de praat heb, maar nog niet in combinatie met Cmake de instructies om de composer te compileren voor windows gaan ook uit van een linux-setup maar de instructies zijn nogal gedateerd.

ik ben op linux verder gekomen dan op windows betreft minGW ik wil m ook erg graag aan de praat hebben omdat ik dan windows-programma s kan bakken zonder ooit op windows te hoeven werken, IDEAAL!

t vreemde is dus, als ik $cmake .. uitvoer dan vind hij alle bibliotheken en compileert hij gewoon, echter als ik:
SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER   /usr/bin/i686-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++)
dan is hij ineens blind en kan hij geen enkele bibliotheek meer vinden  :( :(
een standaard hello-world-project vanuit code::blocks compileert hij wel gewoon  ??? ???

Re: crosscompilen cmake mingw
« Reactie #3 Gepost op: 2013/01/04, 15:56:11 »
Ja, software bouwen op Windows is verschrikkelijk. Snap je nu waarom meer een meer programmeurs het niet meer gebruiken?
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline niekn

  • Lid
    • omega-xis
Re: crosscompilen cmake mingw
« Reactie #4 Gepost op: 2013/01/05, 10:49:06 »
Ja, software bouwen op Windows is verschrikkelijk. Snap je nu waarom meer een meer programmeurs het niet meer gebruiken?

ik vond windows in het algemeen al verschrikkelijk....

zal het eens op school vragen, we hebben namelijk volgend kwartaal een heel blok over crosscompilers dus misschien dat de leraren t weten...

edit: leraren hebben nog nooit van cmake gehoord en ze wisten zelfs niet dat er iets bestond als de minGW compiler, ze waren wel enthousiast dat ik me verdiept had in cross-compiling echter dat lost nog steeds mijn probleem niet op: hoe krijg ik minGW + cmake aan de gang?
« Laatst bewerkt op: 2013/01/07, 19:21:02 door niekn »