PDA

View Full Version : Cross compiling Qt 4 apps for linux



Dante
7th May 2009, 13:33
Hi
I have a cross compiler for linux on windows.how can i use it to cross compile a Qt 4 app for linux?
thanks

Lykurg
7th May 2009, 13:45
I have a cross compiler for linux on windows.how can i use it to cross compile a Qt 4 app for linux?

Well let me answer with another question:

I have a cat. Is she black or withe?

...maybe it would be helpful if you tell us which compiler do you have! And a general answer: use qmake with the corresponding SPEC and then simply compile.

Dante
7th May 2009, 16:52
Ok,Excuse me
It is the g++-linux for cygwin 2.5
And what is SPEC and how can i do the thing you mentioned?
thanks again

Lykurg
7th May 2009, 17:18
when qmake generates the make files it has to know for what plattform it should be done, so use QMAKESPEC or the -spec flag to set your environment: linux-***. then normaly run make under cygwin and all should be done.

Dante
8th May 2009, 11:41
I entered commands below in my project directory:


qmake -project
qmake -spec linux-g++ calc++.pro
then inside the cygwin shell ,in the project directory,I entered the make command but it answered:

Makefile:104: *** multiple target patterns. Stop.
what should i do?
And I thought I should use a cross-compiler like cygwins g++-linux.
And could you explain about the OS modes in qmake?
thanks

Dante
12th May 2009, 12:31
You know.I really need the answer of this question.thanks again

talk2amulya
12th May 2009, 13:58
i think a cross-compiler is one which compiles for a particular target machine/architecture, not the host machine.. what is the target for your cross compiler

Dante
12th May 2009, 18:47
Its Linux and my goal is exactly compiling for a target OS.

ChrisW67
13th May 2009, 00:16
I'm going to ask the dumb question here: Leaving Qt aside for the moment, have you been able to cross-compile a simple Hello World application on Windows for Linux?

With your last Makefile error you could try looking at the output of
make -nto see what it is actually trying to do.

Dante
13th May 2009, 13:33
It gives the same error with the difference that it prints 66 instead of 104 and it is the same with make itself,too.