Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cross-platform compiling of a Qt application

I have written a C++ application that uses the Qt framework. I would like to make this application available on different platforms. Since I use Linux, I have no problems compiling the code for Linux. The questions is:

Can I compile my code in such a way that it will run on Windows, Mac, etc.? As said above, I'm working on a Linux machine and can't possibly install all the different platforms out there.

If it is possible, what steps are required (in simple terms)?

If there is any documentation on this topic, I'm happy to read anything - please just point me in the right direction.

Thanks!

like image 789
Honza Pokorny Avatar asked Jan 05 '10 19:01

Honza Pokorny


People also ask

Are Qt applications cross-platform?

Qt is a cross-platform application development framework widely used for developing applications that can run on a wide range of hardware platforms with little to no change in the underlying codebase.


2 Answers

You can kind of do this for Windows, but I don't think there is anything you can do for Mac.

For Windows, see these two articles:

Cross-compiling Qt4/Win on Linux

Cross compiling Qt/Win Apps on Linux

Also, see this prior stack overflow question.

like image 51
Kaleb Pederson Avatar answered Sep 23 '22 21:09

Kaleb Pederson


With some difficulties -- you would need to install the cross-compile to create Windows binaries on Linux. That part is easy.

You would then need to configure Qt under the cross-compiler. Given that Qt has a number of external dependencies, I expect this to be hairy.

In a nutshell, I think you are better installing a virtual instance of Windows inside an emulator such as VirtualBox.

Edit: Ah, Kaleb even points to tutorials. Nice one.

like image 42
Dirk Eddelbuettel Avatar answered Sep 22 '22 21:09

Dirk Eddelbuettel