Qt 4.8.0 Released

Published Thursday December 15th, 2011
101 Comments on Qt 4.8.0 Released
Posted in Qt

Qt has reached another important evolutionary milestone today. We are very proud to announce that Qt 4.8.0 has now been released. Many people have worked long and hard to deliver Qt 4.8.0. Today that hard work reaches final release maturity, and we are celebrating!

Featuring Qt Platform Abstraction, threaded OpenGL support, multithreaded HTTP and optimized file system access, Qt 4.8.0 can be downloaded as binary or source packages (Qt Download Page).


Those of you that have been testing and using Qt 4.8 through its earlier stages will know the key benefits it brings. If you haven’t been following it, here are some key features that are new in Qt 4.8.0:

  • Qt Platform Abstraction (QPA)

    QPA restructures the GUI stack to enable easier porting of Qt to different windowing systems and devices. More info on: Lighthouse has grown up now.

  • Threaded OpenGL support

    Enables those of us that are not OpenGL-ninjas to render OpenGL from more than one thread concurrently. More info on: Threaded OpenGL in 4.8.

  • Multithreaded HTTP

    HTTP requests are now handled in a separate thread by default. This should make application guis smoother, as networking will no longer use the main event loop.

  • Optimized file system access

    The file system stack received some heavy lifting under the hood. The result is better I/O performance, achieved by reducing the number of system calls performed for I/O and by better use of cached data, when available. The improvements in performance can be seen across all platforms.

Qt 4.8.0 ships with QtWebKit 2.2.1. More details of the major changes can be found in the Qt 4.8 beta blog post.


The source and binary packages for Qt 4.8.0 can be downloaded from the Qt Download Page. The source code can also be found in the public repository, where the “v4.8.0” tag matches the released packages. Please note that the documentation has been moved to Qt Developer network, as part of moving Qt to the Qt Project.


Thanks for all the feedback and contributions to Qt 4.8 so far. Further feedback can be provided in the Qt Bug Tracker.

Qt Project

We have started looking into moving Qt 4 to the Qt Project, which will make it simpler for you to contribute changes using Gerrit (the same infrastructure as used for Qt 5 already). This might take some time, but we are eager to see it happen.


According to tradition the announcement of minor releases should contain a picture of the people who has made the release happen.

Thanks to everyone who has contributed. We are looking forward to seeing the great applications you will make.

The Berlin team

The Berlin team

The Brisbane team

The Brisbane team

The Munich team

The Munich team

The Oslo team

The Oslo team

The Tampere team

The Tampere team



Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Qt


Spud says:

I tried to compile for Windows 64 Bit but configure exits with:
“Perl not found in environment – cannot run syncqt”
Do I need perl now to compile Qt, or can I work around this?

Mario Fux says:

Congratulations to this great release and the work behind but “tradition [for] the announcement [is not really] of minor releases”, right?

Shrol says:

First of all, congrats Guys and Gals! This is great news and we appreciate all your hard work. Can I ask if there is about to be an SDK update issued, since I am on slow broadband with a data cap I would prefer to wait for that so it ties into QtCreator than download separate files ideally. Cheers, and thanks again.

mgs says:

The problem with scaling graphics in QtWebView is still there – if you rescale image it is pixelated then it’s smooth, then it’s pixelated again. Ugly. (on windows mingw version)

Great work people. Changes are excellent, Pictures are excellent. Thanks to all people.

BogDan Vatra says:

Congratulations !!!

Rire Jaune says:

Good job guys!!! Congratulations!

That is awesome!!!
I do hope one day you will add Window Decoration support for Qt Desktop.

Threaded OpenGL support:
Is there a way to get HUD with this feature? I am looking for a very efficient way to get Qt+OSG+HUD. I’ve already implemented a solution using fbos+QGraphicsView. But I need at least 4 fbos to make it work, otherwise it flickers.

Good job again !!!

SABROG says:

Gratz! Where I can found changelog from 4.7.4 to 4.8.0?

Sinan Tanilkan says:

Thanks for all the comments.

@Spud: If you want to compile Qt, then yes syncqt requires Perl.

@Mario Fux: Looking at blog posts from previous minor releases, I think we can get away with calling it a tradition. If not how about we make it one?

@Shrol: Yes. There are plans for an updated SDK with Qt 4.8. See: http://blog.qt.nokia.com/2011/12/15/qt-4-8-libraries-released-stand-alone/

Sinan Tanilkan says:

@SABROG: The change log can be found in the source tree (at: https://qt.gitorious.org/qt/qt/blobs/4.8/dist/changes-4.8.0)

Does this version address the problem where Macintosh applications were being rejected by the App Store due to Qt writing stuff into unapproved locations? I know there were hacks to address this in previous releases but I’d really like to just use an unmodified Qt environment.

max says:

Good news, Thank you.

Adam says:

@David Jameson

I think the bug you are referring to is this one (In Progress) https://bugreports.qt.nokia.com//browse/QTBUG-16549

I am using the 4.8 branch for quite a while now. I had one minor problem with 4.8, when I compiled the qt-creator with it. A problem, which might be gone with now qt-creator 2.4.0 and qt 4.8 final. Will test tonight. Apart from that I experienced only improvements. So: Good job. 🙂

Dian says:

There was a bug introduced in Qt 4.7.1 preventing from building Qt with Intel compiler:


The bug was scheduled to be fixed in release 4.8.0, but it still says “unresolved”. Is there any progress, should I even bother trying to build Qt from source for my ICC toolchain?

Thanks and keep up the good work!

PM says:

No we need Perl to compile Qt, WTF?

Robin Lobel says:

congrats !

Zeck says:

I’m also looking for David Jameson question’s answer as the bug is still marked as “unresolved” in Jira. Seed https://bugreports.qt.nokia.com/browse/QTBUG-16549

Nan says:

We need Perl to compile Qt, WTF?

sirspudd says:

@PM: syncqt is as old as the hills and always required perl. If you are going to continue to generate headers (due to compiling against a moving source tree) then sure you need Perl. If you are compiling against a tar ball, then no, you don’t.

Open source is famous for its violent over-reactions to non-events; this kind of thing does not help.

@4.8: Welcome to this crazy world

Nan says:

Qt, is more and more worse. Qt 4.7.4 lacks some files make help so ugly, and Qt 4.8 compilation needs Perl. Next time, we need Java, .net/Mono, Ruby and Apache to compile Qt. That must be COOL.

Jeremy S. says:

Do you guys have a rough timeframe for the inclusion of Qt3d into the general release ?

Nan says:

@PM You can delete all syncqt.* files in bin folder.

Acenes says:

So, now that its new that Qt mandatory needs Perl to compile, would you please be so kind to update the Windows installation instructions about what the exact new requirements are,? E.g. what package and version of Perl has to be installed? What other new and undocumented requirements or settings are there? My environment is Windows 7 with Visual Studio 2005. Please help.

Mike Jackson says:

Is OS X Lion a supported platform? What version (Exact) were the VS2008 and VS2010 Libraries compiled with? I need to figure out if I can actually use these precompiled binaries or if I have to build my own.
And what is up with requiring Perl to compile? Not sure if this is public knowledge or not but Windows does not come with Perl preinstalled. Some of us have to jump through major hoops to get additional tools installed on our systems.

Otherwise I look forward to eventually finding out the fruits of your labor.


Mike Jackson says:

I just found the supported platforms page. I find it almost funny in that the ONLY 64 bit operating system is OS X 10.6 and 10.7. I write scientific software that NEEDS the address space of 64 bit. How long have Windows and Linux 64 bit platforms been out and there still isn’t Tier 1 support for those?

Have I whined about the perl yet?

Thanks again for the hard work

Congrats on the new release! I cannot get Qt Creator 2.4.0 to detect Qt 4.8.0 on OS X 10.7. The qmake executable in /usr/bin is grayed out when selecting it from the Qt Creator preferences.

INF says:

Hi Mike.
Did you try to recompile Qt for 64bit? I tried it once and I didn’t have any problems using it. Although I didn’t use all the features/components/widgets and I can’t say for sure if it is 100% stable.


Wagner Reck says:

Congrats guys and gals!

Thanks for your good work!

mnk says:

I’d say this change:
Now takes font hinting settings from GConf by default if running in GNOME desktop.
came right in time for GConf going out of style.

And don’t get me started on this line in src/gui/styles/qgtkstyle_p.cpp:
gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS(“gnomevfs-2”), 0, “gnome_vfs_init”);

OK, so I might be just bitching instead of submitting patches, but while backward compatibility is important, being somewhat up to date should be to.

I’m not saying making a gtk3 style module will be trivial, but it would be nice if i.e. QTBUG-21294 got some attention. Though GConf -> GSettings will likely be simple, when compared to gtk2->gtk3 move (changing the code from gdk_pixmap to cairo_surface will require a bit of head scratching).

Robert Quime says:

If only C++ had namespaces then you wouldn’t have to prefix every class with Q :/

spud says:

I could compile on 64-Bit Windows by just deleting %QTDIR%binsyncqt.bat. So there is no need for perl, really.
I find it unfortunate that Qt doesn’t compile out of the box on Windows anymore with “configure && nmake”. Even better would be official support for 64 bit Windows.

None the less, I didn’t intend to start off on a negative note. First of all: Thanks for all the good work!

Acenes says:


Thanks for the tip about deleting the syncqt.* files. After doing so “configure” seems to run.

Since others mention that syncqt is required for making some header file links, are there any steps we need to do manually after compiling?

Harald Fernengel says:

Building Qt _from the repository_ required perl since Qt 1.0. Nothing changed there in a decade, what’s with all the sudden bickering?

If you don’t want to install perl, build Qt from a released tarball / zip file, not from git.

Zack Rusin says:

Awesome, congrats!

Picture metrics are unfair. Petref takes as much space as half of the Oslo team. While I don’t question that his contribution of badly sang Albanian national anthem was crucial to this release, it’d be nice to see some of the other people. You could try to use this neat thing I’ve heard about last week, hypersomething. Hyperlinking! It’s all the rage on that internet thing. Please tell Paul that picture taking is not the time to practice his invisibility skills (Volker and him got the best smiles though). Also the next time somebody please tell Roberto where the camera is – you need to look at the camera not away from it, this isn’t a cover for an emo album.

Jens Henrik says:

Great work !!!
If I count the people working on Qt … wow.
You are doing a great job!

Acenes says:


Somebody has put syncqt into the bin path of the windows zip files for no reason, because as you explain it is not required there.

But no the configure / nmake compilation process that worked without problems for years and up to 4.7.4 is broken in 4.8.0.

This is an issue for all people working with the zip distribution on windows, and you can be sure that we here are only the first of several thousand being confused about it.

Congrats for the release guys!

Roberto Raggi says:

@zack: Yeah, I’m camera shy 😉

Javi Moya says:

thanks guys!! great work !!

but I have a big problem with 4.8:

I build succesfully ActiveQT (mingw32, windows-xp) (I copy the libs generated to LIB dir)

Then I try to compile my app ….
but I got a lot of errors:

19:28:17: Running build steps for project jCQ…
19:28:17: Configuration unchanged, skipping qmake step.
19:28:17: Starting: “D:Qtqtcreator-2.4.0mingwbinmingw32-make.exe”
D:/Qt/qtcreator-2.4.0/mingw/bin/mingw32-make.exe -f Makefile.Release
mingw32-make.exe[1]: Entering directory `D:/My DropBox/My Dropbox/jCQ/jCQ-build-desktop-Qt_4_8_0__4_8_0__Release’
g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o releasejCQ.exe object_script.jCQ.Release -L”d:Qt4.8.0lib” -lmingw32 -lqtmain releasemyapp_res.o -lQAxContainer -lQtSql4 -lQtGui4 -lQtCore4
mingw32-make.exe[1]: Leaving directory `D:/My DropBox/My Dropbox/jCQ/jCQ-build-desktop-Qt_4_8_0__4_8_0__Release’
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x503): undefined reference to `SysAllocStringLen@8′
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x535): undefined reference to `SysFreeString@4′
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x5b5): undefined reference to `SysFreeString@4′
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x5c1): undefined reference to `SysFreeString@4′
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8a2): undefined reference to `IID_IDispatch’
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8ad): undefined reference to `IID_IDispatch’
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8ba): undefined reference to `IID_IDispatch’
d:Qt4.8.0lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8d2): undefined reference to `IID_IDispatch’
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x252): undefined reference to `IID_IClassFactory2′
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x278): undefined reference to `SysAllocStringLen@8′
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x292): undefined reference to `IID_IUnknown’
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x2b3): undefined reference to `SysFreeString@4′
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x2de): undefined reference to `IID_IUnknown’
d:Qt4.8.0lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x766): undefined reference to `IID_IPersistPropertyBag’

I can build it with Qt 4.7.x

any idea?

Qt4iOS says:

Congratulations! The moment we (who are using Lighthouse) have all been waiting for! 🙂

Javi Moya says:

I discovered the problem:

these files are missing under the LIB DIR

MartinK says:

Nice ! 🙂



* [QTBUG-5710] Configure now complains on missing perl on windows


user says:


“So now there is total of 108 improvements and bug fixes available in Qt Commercial 4.8.0 that are not part of the LGPL release. I want to underline that this is not the intended way of differentiating our offering.”

Maybe true, but hard to believe.

JC says:

How come every time a big and profit hungry corporation gets its hands on a good independent product, a process of systematic spoilage is initiated? That’s what happens when you put a bunch of “businessmen” in charge of something they have no idea of and are willing to spoil in their ill conceived attempts to make a quick and dirty buck… I truly wish Trolltech never sold out to that sinking ship a.k.a Nokia…

quess says:

[removed for offensive language]

Orion says:

Congratulations !
Thanks for your work!

jason says:

Congratulations to celebrate !

johnyn says:

congratulations guys! time to check it out.

diego says:

Congratulations to the trolls! Thanks for all the effort and passion you put in Qt.

Diego Viola says:

Does this new release works on Wayland already?

Congratulations for the new release!

thomas says:

I install active perl and set PATH=%PATH%;c:Perlbin
It pass syncqt and start compile!

neurocod says:

Thanx for VS2010 installer and other work!

kpld says:

Congratulations !!!

лещ says:

Cool!!! Many thanks!!!

vj says:

Great. Keep them coming

btw What a bunch of nerds 🙂

Now it’s the time for me to update qt4 port for CRUX (http://crux.nu).

Keep the great work!

oopinou says:

Great job !

@Robert Quime : i disagree with you, it’s good way to make the difference between library class and our personnal one.

@spud : thx for the tips of deleting this file to compile

silvansky says:

Thanx guys!

And I have some questions…
Is “rubber band scrolling” in Mac OS X Lion a planned feature? Without it apps looks non-native =(

BTW, I found a crash-bug already: https://bugreports.qt.nokia.com/browse/QTBUG-23205

loaden says:

Congratulations !!!

Stephen Chu says:

Trying to build from source on Mac OS X 10.6 and got this error: -bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

It looks like the configure script is saved in Windows line feed format? Seriously?

Robertlipe says:

Stephen Chu, I built from source on 10.6 last night without issue. (OK, I built core, net, and webkit and not the whole thing.) I didn’t see what you’re describing. Perhaps the zip download (common on Windows) has Windows line endings. I used the .tar.gz (common on UNIX-like substances) and didn’t see that.

Volker Götz says:

@Stephen Chu
Did you grab the ZIP or the .tar.gz? The former has Windows style line endings, the latter unix style, as stated on the download page.

Unfortunately, the build on 10.6.8 fails miserably for me. For instance, src/plugins/platforms/cocoa/cocoa.pro includes ../fontdatabases/coretext/coretext.pri, which does not exist. Additionally qmake spits out tons of error messages on webkit and some other .pro files too.

Benjamin Arnaud says:

Congratulations guys,

You look great on the family pictures <3.


Benjamin Arnaud says:

A quick update on my side.

I’ve Just tested the QGraphicsView on Win32 Vista in software.

There is an important performance hit between 4.8 RC and 4.8.

Animations and transitions seem slower. You can notice that in qtDemo 4.8 and 4.8 RC.

Have you tweaked the software renderer between 4.8 RC and 4.8 ?


Sylv says:


@Benjamin Arnaud I’ve just tested some QML animations in a QDeclarativeView with a QGLWidget viewport and transitions are slower using Qt 4.8.0 compared to Qt 4.7.4 (on Windows XP and Windows 7). I don’t know why but animations are really slower.

Anyway thanks for this great job!

Darla says:

I’m not happy about the PERL requirement for compilation.

Projects can be difficult to compile.
Sometimes it’s like a 99 bottles of beer game, where you keep “taking one down”:
another Configuration issue, another Compiler error, another Dependency problem, etc.
It’s a good idea to LOWER the total list of potential of these things that could effect the user.

What has Nokia accomplished?
Introduced yet another issue getting in the way of the goal of the user to just get the damn thing compiled.

Please make QT streamlined, don’t keep inserting crap like this.
Please, don’t make me install PERL on windows to build Qt.
I simply do not like to install lots of crap on the machine.


Borut says:

First of all, congrats.

I have difficulties with building Qt 4.8.0 on Windows 7 for windows platform (Qt libraries 4.8.0 for Windows (minGW 4.4, 354 MB)).
I use: “configure -static -release -webkit” for configure, and mingw32-make for build.
When compiler/builder comes to webkit folder, it stops with error2. It says that -lwebcore is missing.
Any idea how to solve this?

Hichem says:

Good job guys !! Thanks

Song Cai says:

I had the same problem as Flavio Tordini. I workaround it by create a symbol link somewhere, say “ln /usr/bin/qmake ~/Qt480/bin/qmake”, after that I can select it in QtVersions.

But there is another problem too, we must change the tool chain in projects to clang other than default gcc. There is a creator bug I think.

Volker says:

You do *not* need perl in order to compile the source packages from the download page. Perl is only needed for the syncqt tool if you build Qt from the git sources, but that’s nothing a regular Qt user is supposed to do.

The docs state that building webkit in a static version of Qt is *not* supported. To use webkit, you *must* build a shared lib version of Qt. There’s no other way, sorry.

Everyone is invited to ask Qt related questions over there in the Qt Developer Network Forums at http://developer.qt.network.com – a friendly crowd of Qt enthusiasts is helping with all sorts of problems.

Benjamin Arnaud says:

@Sylv: opened a forum thread about this. Maybe we’ll learn more about this soon:


kus77 says:

Congratulations ! Nice pictures of the teams.

Zeke Connor says:

Thank you, but please remove the autohide of functions off the documentation pages. I hate it.

Ma says:

Good work!
I Will try it!

robotr says:

Great! Lovely QT! Lovely people in the photos!
Thanks a lot!

Anticross says:

Cool. I’m just looking the solution for IP multicast. Where can I read about of features of “IP multicast API” ?

NoName says:

@Adam: I think david also mean this (https://bugreports.qt.nokia.com//browse/QTBUG-21609) too.

LuisLove says:

Handsome but leave everyone in the photo, thanks for the release of Qt Creator IDE 4.8 and 2.4.0 ….. I look forward to a future addition to QT 5.0 if you can attach it to Android and the Future Meego, THANK YOU to all …

JL says:

Qt should use CMake to build. It would just work.


I do not mean to sound pessimistic, but it appears that KDE applications use more memory with Qt 4.8 than they did with Qt 4.7. I hope this isn’t a general trend for the future evolution of Qt, and hope that Qt 5 will reverse this trend by having generally lower memory consumption than Qt 4.7.

Antonio Cano says:


Martin Flahault says:

Although the link for downloading Mac OS libraries was labelled : “Cocoa: Mac binary package for Mac OS X 10.5 – 10.6 (32 and 64-bit)”, the libraries are indeed 64 bit only. The label of the link was modified accordingly yesterday.

Will there be a 32 and 64 bit package for Mac OS released (as for Qt <= 4.7.4) or do I need to build it myself ?

Anyway, thank you for this release.

BG says:

Is there a way in the new version to request an OpenGL ES2 profile?

On the desktop if the platform supports the EXT_create_context_es2_profile extension such a profile could be created and the developer would have an easy way to make sure his OpenGL code is ES2 compatible.

Stramel says:

@Volker, I believe your link is broke. Would you mind posting a working link?

andre says:

@Roberto: Camera shy? You? — You definitely need more practice. About 40% of the other 25 people in that picture did better.

david_skelly says:

You should be able to copy webcore.a and webcore.prl from the 4.8.0/src/3rdparty/webkit/JavaScriptCore/release/* directory to 4.8.0/lib directory.

Says it’s not supported, but doesn’t mean it can’t be done.

Adrian says:

Hi developers team. I´ve a question: why qt does not come with MySql´s drivers ready to use, like Sqlite ones or even Java? I am trying to compile thats for 2 days and yet i can’t get the libqsqlmysql4’s family. 🙁

Payam says:

Hi guys
for fixing perl:

1. Download ActivePerl from http://www.activestate.com/activeperl/downloads
2.Run Qt Command Prompt and run following Commands:
set PATH=C:Perlbin;C:Qtqtcreator-2.4.0mingwbin
set QTDIR=C:Qt4.8.0
3.Enjoy it….

Petr says:

Great work d(^_^)b

OMID says:

Hi gays!
The Qt 4.8.0 Not instaling for Xperss music 5800 Or X6???????
can you help ME?

Sen Johnson says:

So no support for s60v5 ??
You guys are killing it!!
SO a BIG thanks!

Leaf says:

Good news!

Stevie says:

@Acenes: I fully agree with your comment on Dec 15th; I *am* one of thousands. 😉
@Volker: Thanks for clarifying that syncqt / Perl is actually *not* needed on Dec 18th.
@Qt-Team: Astonishing enough that this issue has slipped your quality assurance.
But in general, Qt is still a great toolkit; please keep it this way!

Ragu says:

Does the released Qt 4.8.0 support Xcode 4 development?

William Lee says:

The QtWebKit HTML5 video doesn’t work, no matter try with prebuild VS2010 binaries or self-build

TheBootroo says:

So, serveral weeks later, still no SDK Update neither .deb packages updates in Ubuntu PPA ? What a shame guys ! I can’t work with it yet, and I really need it, please release the full packages really soon …

Dimitar Dobrev says:

Could you upload a 32-bit version for Mac OS X, just like 4.7.4 was? I have trouble compiling the source code.

NoRulez says:

Come on guys, where is the QtSDK update?

Commenting closed.

Get started today with Qt Download now