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).
Content
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.
Downloads
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.
Feedback
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.
Traditions
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 Munich team
The Oslo team
Possibly related posts:



101 comments
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?
Congratulations to this great release and the work behind but “tradition [for] the announcement [is not really] of minor releases”, right?
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.
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.
Congratulations !!!
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 !!!
Gratz! Where I can found changelog from 4.7.4 to 4.8.0?
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/
@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.
Good news, Thank you.
@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.
There was a bug introduced in Qt 4.7.1 preventing from building Qt with Intel compiler:
https://bugreports.qt.nokia.com//browse/QTBUG-15390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
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!
No we need Perl to compile Qt, WTF?
congrats !
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
We need Perl to compile Qt, WTF?
@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
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.
Do you guys have a rough timeframe for the inclusion of Qt3d into the general release ?
@PM You can delete all syncqt.* files in bin folder.
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.
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.
Thanks
MJ.
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
MJ
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.
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.
Thanks
Congrats guys and gals!
Thanks for your good work!
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).
If only C++ had namespaces then you wouldn’t have to prefix every class with Q :/
I could compile on 64-Bit Windows by just deleting %QTDIR%\bin\syncqt.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!
@Nan
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?
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.
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.
Great work !!!
If I count the people working on Qt … wow.
You are doing a great job!
@Harard
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!
@zack: Yeah, I’m camera shy
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:\Qt\qtcreator-2.4.0\mingw\bin\mingw32-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 release\jCQ.exe object_script.jCQ.Release -L”d:\Qt\4.8.0\lib” -lmingw32 -lqtmain release\myapp_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:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0×503): undefined reference to `SysAllocStringLen@8′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0×535): undefined reference to `SysFreeString@4′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x5b5): undefined reference to `SysFreeString@4′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x5c1): undefined reference to `SysFreeString@4′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8a2): undefined reference to `IID_IDispatch’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8ad): undefined reference to `IID_IDispatch’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8ba): undefined reference to `IID_IDispatch’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxdump.o):qaxdump.cpp:(.text+0x8d2): undefined reference to `IID_IDispatch’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0×252): undefined reference to `IID_IClassFactory2′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0×278): undefined reference to `SysAllocStringLen@8′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0×292): undefined reference to `IID_IUnknown’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x2b3): undefined reference to `SysFreeString@4′
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x2de): undefined reference to `IID_IUnknown’
d:\Qt\4.8.0\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0×766): undefined reference to `IID_IPersistPropertyBag’
….
….
….
I can build it with Qt 4.7.x
any idea?
thanks
Congratulations! The moment we (who are using Lighthouse) have all been waiting for!
I discovered the problem:
these files are missing under the LIB DIR
QAxContainer.prl
QAxContainerd.prl
QAxServer.prl
QAxServerd.prl
Nice !
CHANGELOG says:
* [QTBUG-5710] Configure now complains on missing perl on windows
https://bugreports.qt.nokia.com/browse/QTBUG-5710
http://lists.qt-project.org/pipermail/development/2011-December/000908.html
“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.
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…
[removed for offensive language]
Congratulations !
Thanks for your work!
Congratulations to celebrate !
congratulations guys! time to check it out.
Congratulations to the trolls! Thanks for all the effort and passion you put in Qt.
Does this new release works on Wayland already?
Congratulations for the new release!
I install active perl and set PATH=%PATH%;c:\Perl\bin
It pass syncqt and start compile!
Thanx for VS2010 installer and other work!
Congratulations !!!
Cool!!! Many thanks!!!
Great. Keep them coming
btw What a bunch of nerds
Congrats!!
Now it’s the time for me to update qt4 port for CRUX (http://crux.nu).
Keep the great work!
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
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
Congratulations !!!
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?
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.
@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.
Congratulations guys,
You look great on the family pictures <3.
B.A.
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 ?
Thanks.
Congratulations!!
@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!
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.
-z
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?
Good job guys !! Thanks
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.
@Darla
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.
@Borut
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.
@Sylv: opened a forum thread about this. Maybe we’ll learn more about this soon:
http://developer.qt.nokia.com/forums/viewthread/12641/
Congratulations ! Nice pictures of the teams.
Thank you, but please remove the autohide of functions off the documentation pages. I hate it.
Good work!
I Will try it!
Great! Lovely QT! Lovely people in the photos!
Thanks a lot!
Cool. I’m just looking the solution for IP multicast. Where can I read about of features of “IP multicast API” ?
@Adam: I think david also mean this (https://bugreports.qt.nokia.com//browse/QTBUG-21609) too.
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 …
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.
Thanks!
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.
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.
@Volker, I believe your link is broke. Would you mind posting a working link?
@Roberto: Camera shy? You? — You definitely need more practice. About 40% of the other 25 people in that picture did better.
@Borut
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.
@Volker
Says it’s not supported, but doesn’t mean it can’t be done.
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.
thanks.
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:\Perl\bin;C:\Qt\qtcreator-2.4.0\mingw\bin
set QTDIR=C:\Qt\4.8.0
configure
3.Enjoy it….
Great work d(^_^)b
Hi gays!
The Qt 4.8.0 Not instaling for Xperss music 5800 Or X6???????
can you help ME?
So no support for s60v5 ??
You guys are killing it!!
SO a BIG thanks!
Good news!
@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!
Does the released Qt 4.8.0 support Xcode 4 development?
The QtWebKit HTML5 video doesn’t work, no matter try with prebuild VS2010 binaries or self-build
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 …
Could you upload a 32-bit version for Mac OS X, just like 4.7.4 was? I have trouble compiling the source code.
Come on guys, where is the QtSDK update?
good
Comments on this entry are closed.