Qt for cross platform games - big dependency of Qt library

Started by
6 comments, last by RudolfVonKrugstein 10 years, 8 months ago

Hey,

I am thinking of using Qt for a cross platform game which I want to run on iOS, android, windows 7 and probably desktop platforms.

Why Qt? Firstly I like Qt. Also the game will have a lot of gui elements, and Qt seems to be perfect for it.

Ok, Qt for android and iOS is still in the testing phase, but let's assume I am not scared by this.

But what scares me is the dependency Qt brings. I did a test application for android and the size of the apk was 19mb. That is huge!

It is that huge because the Qt library is bundled with it.

What I am wondering now is, if this will be a problem. What do you think? Will potential customers on mobile platforms (android, iOS, Windows 7) be spooked by the extra 19mb the app will have? That is something I just can't estimate and what would be a big argument against Qt.

Thanks!

Nathan

Advertisement

There is no 'Qt Library", it's a collection of many libraries. Do you really use all of them?

Stephen M. Webb
Professional Free Software Developer

That is a good question. Of course I do not use all of them. But can I somehow only bundle the ones I use? I did not not investigate that yet ...

That is a good question. Of course I do not use all of them. But can I somehow only bundle the ones I use? I did not not investigate that yet ...

Yes you only have to bundle the ones you use (QTGUI is the big one though and its hard to avoid using), just remember that you can't use the LGPL licensed version of QT on iOS. (or rather, Apple is not allowed to distribute the LGPL libraries through the appstore under their current terms and there is no other sane distribution channel you can use) so you need to buy a commercial/proprietary license for that.

On Android you can atleast use Google Play(Assuming android support is included in the opensource version (i could only see it in the commercial version), not sure if any other appstore has LGPL compatible terms of use but if you link statically it can be quite difficult to comply with the license anyway(and both iOS and Android apps have to be linked statically) if you link statically you only need to include the classes/methods you actually use and the size increase will be negligable.

For distribution on most Linux based operating systems you don't have to bundle QT at all, just list it as a dependency in your .rpm installer and the OS will download and install/update it if its not allready done. (All LSB compliant systems can use .rpm installers even if its not their preferred format)

If you are targeting mobiles you might be far better off using something like wxWidgets (its license only applies for sourcecode releases, you're free to license your binaries in any way you please which avoids the issue of incompatible appstore terms)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!


If you are targeting mobiles you might be far better off using something like wxWidgets (its license only applies for sourcecode releases, you're free to license your binaries in any way you please which avoids the issue of incompatible appstore terms)

I just google for an android port of wxWidgets. There seems to be nothing functional yet. Same thing with iOS. Or am I missing something?


If you are targeting mobiles you might be far better off using something like wxWidgets (its license only applies for sourcecode releases, you're free to license your binaries in any way you please which avoids the issue of incompatible appstore terms)

I just google for an android port of wxWidgets. There seems to be nothing functional yet. Same thing with iOS. Or am I missing something?

Hmm yeah, its not really done yet.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

Huh, sorry for nitpicking on the original post, but since when Windows 7 is a mobile platform?

Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

Huh, sorry for nitpicking on the original post, but since when Windows 7 is a mobile platform?

Ah sorry, I meant windows phone.

This topic is closed to new replies.

Advertisement