[Interest] Disable Qt Concurrent in 5.1 for simple RTOS
gseibert92 at gmail.com
Wed Oct 2 08:00:40 CEST 2013
Thanks Thiago, that was very helpful.
We're really only interested in the drawing capabilities, fonts, images,
QWidget, a few simple widgets, and a simple event queue for a small set of
hardware buttons. The RTOS doesn't have any threading capabilities. It
sounds like I would need to edit the .pro files to compile only what we
need, and then modify any of those classes that have threading code. That
way I don't have to modify classes that we won't use.
Does that sound like the best way to get Qt working without threading?
On Tue, Oct 1, 2013 at 8:54 PM, Thiago Macieira
<thiago.macieira at intel.com>wrote:
> On terça-feira, 1 de outubro de 2013 19:12:59, George Seibert wrote:
> > Hi,
> > Has anyone compiled Qt 5 for a simple RTOS without threading?
> > I'm trying to compile Qt 5.1 for a small in-house RTOS which doesn't have
> > threading. I've tried -no-feature-concurrent, as well as -no-concurrent
> > which isn't understood by configure, but Qt Concurrent is still reported
> > "yes" at the end of running configure.
> Do you have compilation errors with QtConcurrent? If the module doesn't
> sense for your OS, don't use it in your applications.
> If the compiler in your OS is too old to understand QtConcurrent's
> heavy code, you should edit the configure script and search for
> canBuildConcurrent. Right after that, there's a switch checking for OS and
> compiler which you can use to disable QtConcurrent.
> > I've used the configure switch -no-feature-thread to disable threads, but
> > I've run into compile errors regarding QThreadData. This, after solving
> > compile error in qpropertyanimation.cpp that was missing an #ifndef
> > QT_NO_THREAD around the QMutex locker.unlock() call. The errors
> > QThreadData are more complex (invalid use of incomplete type in
> > and forward declaration in qobject.h).
> Qt requires threads, period. There is no support for disabling threads in
> Qt code. The last version that supported building without threads was 3.3.
> The QT_NO_THREAD macro exists only as a convenience for the bootstrapped
> (qmake, moc, rcc) which don't use threads, ever. They also don't use
> The main QtCore code, plus the rest of the modules, assumes threads are
> available and will use them.
> Some classes *require* threads to work: QFileSystemModel, QProcess, etc.
> > I'm fairly sure I can solve the compile errors, but the errors lead me to
> > believe I'm not properly disabling threads/concurrency using configure.
> > How do I disable threads and concurrency?
> To disable QtConcurrent, see above.
> You don't disable threads. At least, not without heavy modification of the
> If you need just some simple classes, you may be able to use
> (the one that moc and rcc use). Note: there's absolutely no guarantee that
> this lib works or that it will remain present in future versions.
> > Also, is there any way to disable the networking features? According to
> > the configure help, you can disable features with the
> > switch, with features listed in qfeatures.txt. I've tried, for example,
> > -no-feature-getaddrinfo, yet it's still reported as "yes" at the end of
> > running configure.
> That's because your OS supports getaddrinfo. Why do you want to disable
> that works?
> The -no-feature-<FEATURE> option exists for disabling Qt features, like
> disabling support for file dialogs, ItemViews, drag and drop, etc. It's
> not for
> Also note that the feature system is not frequently tested. I can put you
> contact with someone who used to maintain that (and has recently supplied
> patches to make it work), but the Qt Project does not guarantee that Qt
> or even compiles if any feature is disabled. The Qt Project only supports a
> full build of each module.
> Thiago Macieira - thiago.macieira (AT) intel.com
> Software Architect - Intel Open Source Technology Center
> Interest mailing list
> Interest at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest