I am attempting to continue developing applications for Smart Phones (I have a little experience with Android). I have done some deep research & I have decided to start creating applications in Qt C++.
我正在尝试继续为智能手机开发应用程序(我对Android有一点经验)。我已经做了一些深入的研究&我决定开始在Qt c++中创建应用程序。
The reason I am doing this is because from my research it seems that I can write an application once in Qt then all I have to do is compile it on IPhone, Android, Symbian & Windows Mobile and then I will have an application that will work on ALL these platforms.
我这样做的原因是来自我的研究看来,我可以编写一个应用程序一次在Qt那么所有我需要做的就是编译IPhone,Android,Symbian和Windows Mobile然后我将有一个应用程序,该应用程序将在这些平台上工作。
My question is: Am I correct that if I write an app in Qt C++ then it will work on the following platforms: Android, IPhone, Symbian & Windows Mobile?
我的问题是:如果我用Qt c++编写一个应用程序,那么它将在以下平台上运行:Android、IPhone、Symbian和Windows Mobile,我是对的吗?
I know that this is kindof a naive question ("What API can I use to work on all platforms") but I have researched alot & they all seem to say Qt can work on all these platforms.
我知道这是一个幼稚的问题(“我可以使用什么API在所有平台上工作”),但我研究了很多,他们似乎都说Qt可以在所有这些平台上工作。
PS, Are there any cons to using Qt to write a cross platform Phone App? Is compiling Qt application code difficult to do on each platform?
PS,使用Qt编写跨平台手机应用有什么缺点吗?在每个平台上编译Qt应用程序代码困难吗?
10
This question was asked a long time ago and many things have changed since. For those asking themselves the same question today (beginnings of 2014) then my personal answer is that Qt works 99% on iPhone.
这个问题是很久以前提出的,从那时起,很多事情都发生了变化。对于那些今天(2014年初)问自己同样问题的人,我个人的回答是Qt在iPhone上工作99%。
Currently I'm developing an application that uses QSensors, QNetworkAccessManager and OpenGL ES and I have not encountered any problems on OSX, iOS, Windows and Linux. Thinking about porting to Android soon.
目前,我正在开发一个应用程序,它使用q传感器、QNetworkAccessManager和OpenGL ES,而且我还没有遇到OSX、iOS、Windows和Linux上的任何问题。考虑一下移植到Android。
The only problem I met was the QtPositioning (GPS) module that is not yet supported for iOS but the workaround is very easy and I wouldn't consider this a problem. It will probably work later this year. Also due to some iOS limitations, the QtWebKit is not available. The rest works like a charm! Great job done.
我遇到的唯一问题是QtPositioning (GPS)模块,它还不支持iOS,但是解决方案非常简单,我不认为这是个问题。它可能会在今年晚些时候完成。同样由于iOS的一些限制,QtWebKit也不可用。其余的就像魔法一样!伟大的工作。
I have not tested myself on Android but from what I read Qt should also work on that.
我还没有在Android上测试过我自己,但是从我所读到的Qt中,我也应该研究一下这个问题。
7
You are good to go with Qt C++ (and most recently with QML) for mobile phone development.
您可以使用Qt c++(以及最近使用QML)进行移动电话开发。
My question is: Am I correct that if I write an app in QT C++ then it will work on the following platforms: Android, IPhone, Symbian & Windows Mobile?
我的问题是:如果我用QT c++编写一个应用程序,那么它将在以下平台上运行:Android、IPhone、Symbian和Windows Mobile,我是对的吗?
Yes it works fine on Android, Symbian, Windows Mobile, Meego, Maemo, Moblin.
是的,它适用于Android, Symbian, Windows Mobile, Meego, Maemo, Moblin。
I'm a Qt developer and I have used it to develop for Symbian, Meego, Maemo and Android. Since Symbian, Meego, Maemo are officially supported they work 99.99% perfectly on these platforms.
我是一个Qt开发人员,我用它为Symbian、Meego、Maemo和Android开发。自从塞班、Meego、Maemo被官方支持以来,它们在这些平台上的表现达到了99.99%。
But in Android, it works 95% fine but you require very few workouts.As far as I know, the QtMultimedia Kit is not supported on Android (some pathces are available). But the Android port contributor Bog has said that they will port it too as soon as possible. There is a big community behind Qt as well as Qt for Android. You can also use Mobility APIs as you use in Symbian and Meego. Qt mobile apps are already published in Android market without any problem.
但在安卓系统中,它的工作效率是95%,但你只需要很少的锻炼。据我所知,qt多媒体工具包不支持Android(一些路径是可用的)。但是Android端口贡献者Bog说他们会尽快移植它。Qt和Qt背后都有一个很大的社区支持Android。在Symbian和Meego中也可以使用移动性api。Qt移动应用已经在Android市场上发布,没有任何问题。
Regarding Windows Mobile, its officially mentioned that even Qt Mobility can be used with that phone and it supports pure Qt C++ code. But I dont think too many users will be using Windows Mobile now, as Windows Phone 7(not supported by Qt)is the latest talk.
关于Windows Mobile,它的官方说法是,甚至Qt移动都可以与该手机一起使用,它支持纯Qt c++代码。但我不认为现在会有太多用户使用Windows Mobile,因为最新的说法是Windows Phone 7(Qt不支持)。
Regarding iPhone port, yes there are experimental port by communities. Will be soon available with some examples, I think. I have seen some Youtube videos demonstrating Qt and Qt Mobility working on iPhone.
关于iPhone端口,是的,有按社区划分的实验端口。我想很快就会有一些例子。我在Youtube上看过一些视频,展示了iPhone上的Qt和Qt机动性。
Recently RIM has said that their BBQ (Blackberry Tablet OS) platform will have an official port for Qt.
RIM最近表示,他们的BBQ(黑莓平板操作系统)平台将拥有Qt的官方端口。
Regarding any Linux Mobile(Moblin, Maemo, etc), yes Qt C++ works just perfectly on them.
对于任何Linux移动设备(Moblin、Maemo等),Qt c++都能完美地工作。
Regarding Desktop, Qt C++/QML runs almost on all Desktop platforms.
关于桌面,Qt c++ /QML几乎在所有桌面平台上运行。
I don't understand that someone like CommonsWare with 145k reps, just came out and said literally like Qt will not work in any of the Mobile platforms. But as he said, if you are going to choose a HTML based API like PhoneGap, then I would recommend Qt 100 times over that. Because Qt can do better than HTML5 in all the ways. It can handle some comlpex problems like 3D, openGL etc much more better and efficiently than HTML5.
我不理解像CommonsWare这样拥有145k代表的人,只是出来说Qt不会在任何移动平台上工作。但是正如他所说,如果你要选择一个基于HTML的API,比如PhoneGap,那么我推荐Qt 100次。因为Qt在所有方面都比HTML5要好。它可以处理一些comlpex的问题,比如3D、openGL等,比HTML5更有效、更高效。
After reading all the above answers I'm dissappoint to say that you better not believe these answers and go join this place Qt Labs where you will see and enjoy the real power of Qt.
在阅读了以上所有答案后,我不同意你最好不要相信这些答案,加入这个地方Qt实验室,在那里你将看到并享受Qt的真正力量。
Recently Qt has gone open governance, where each Qt module will be developed and maintained according to public interest. Further Trolltech, KDE and Nokia are developing it for commercial reasons. So never ever lose Qt because of some bad advide, try it yourself and then decide it by yourself.
最近Qt已经开始开放治理,每个Qt模块将根据公众的兴趣开发和维护。此外,Trolltech、KDE和诺基亚出于商业原因正在开发这款手机。所以永远不要因为一些糟糕的建议而失去Qt,自己尝试一下,然后自己决定。
5
Support for iOS and Android is experimental, unfortunatelly. And Nokia supports only newer versions of Symbian. So Qt is cross-platform only on Desktop, and here it really works great ----> Linux, Windows, **BSD, MacOSX, OS/2, Amiga OS4 ....
不幸的是,对iOS和Android的支持是实验性的。诺基亚只支持更新的塞班系统。所以Qt跨平台只在桌面,这里真的是伟大的- - - - - > Linux,Windows,* * BSD,MacOSX,OS / 2,女性朋友同台可以....
Its a shame that Nokia started to build windows phones. If they sticked with meemo and symbian at least Qt would be actively developed.
诺基亚开始生产windows phone是件憾事。如果他们坚持使用meemo和symbian,至少Qt将被积极开发。
1
I don't believe Qt will work for the purpose you describe. Unfortunately, I don't think anything else will either. Android basically just supports Java. The NDK will let you write parts of an app in C++, but still requires Java for parts as well.
我不相信Qt会达到你描述的目的。不幸的是,我也不认为其他的事情会发生。Android基本上只支持Java。NDK允许您使用c++编写应用程序的部分,但仍然需要Java编写部分。
The new version of Windows Mobile only supports .NET applications (and I'm reasonably certain no other phone supports .NET applications at all...)
新版本的Windows Mobile只支持。net应用程序(我很确定没有其他手机支持。net应用程序…)
0
This is not entirely true. If a given feature has platform specific, then one must enwrap such constructs inside that platform-name's braces in .pro file.
这并非完全正确。如果给定的特性具有特定于平台的特性,那么必须在.pro文件中的平台名称的大括号内封装这些构造。
e.g., for symbian:
例如,塞班系统:
symbian {
SOURCES += symbian_file_handler.cpp
LIBS += -llibcryto
}
0
The bulk of the Qt framework as everyone else has answered will work on all platforms, okay if not all at the moment, it soon will be. Plus Qt is growing in not just it's framework, but also for its support and users.
Qt框架的大部分内容都将在所有平台上进行,如果不是全部的话,很快就会实现。此外,Qt不仅在它的框架中成长,而且在它的支持和用户中成长。
The only difficulty you will find is when you need to use and external library to run on all platforms. For example, I'm working with ffmpeg and my '.pro' file is currently just set up for Windows and Android, but it works.
您将发现的唯一困难是何时需要使用和外部库在所有平台上运行。例如,我正在与ffmpeg和my ' s合作。pro的文件目前只是为Windows和Android设置的,但它确实有效。
Compiling Qt code for each platform is a doddle. Setting up external libraries is fiddly stuff.
为每个平台编译Qt代码是一件小事。设置外部库是一件棘手的事情。