XDG Desktop Portal and Flatpak are more and more in used. If you are using Qt, Flatpak KDE runtime is a good place to start, install pre-built Qt binaries in Flatpak world. But it’s normally for the released versions.
If you want to play with the edge of Qt, for example, dev branch, you can try following steps:
Qt 5.5.0 officially released on July 1st. But on OS X, for example 10.10.4+Xcode 6.4(clang-602.0.53), you will have lots of warnings about ‘-Winconsistent-missing-override’, like:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Infile included from moc_widget.cpp:9:
Infile included from./../qt55test/widget.h:4:
Infile included from../../QtSDK/5.5/clang_64/lib/QtWidgets.framework/Headers/QWidget:1:
Infile included from../../QtSDK/5.5/clang_64/lib/QtWidgets.framework/Headers/qwidget.h:38:
I guess the change is b480fa83, it’s already merged in stable(5.2.x). After talked with Gunnar, he mentioned that the result in lastest stable is perhaps very different with the blog, because there was another big change, v4, also already in stable.
I think I need to have the environment to reproduce the “scene” at that commit, b480fa83.
qtdeclarative depends on qtbase and qtxmlpatterns repo. For this example, just in case, we have an explicit sha1 in qtbase. It’s uncommon. Normally it’s just like the case for qtxmlpatterns, an empty string.
Qt is a huge project, especially like the module, QtWebKit. If you happen to be in a computer farm, it is very useful to use distributed complation to speed up the build of Qt.
icecream is maintained by the SUSE people. Then there are less issues in OpenSUSE than in Ubuntu. But Ubuntu is more popular one. I just use Ubuntu as example here.
Install your compiler, like gcc and clang.
Install icecc and icemon(optional). icemon is the monitor of icecream build, better to check it when you setup the enviroments. It’s an GUI application based on Qt 4.8. Note: you need to install 0.9.8~git2012121601-0ubuntu2 and later version for icecc. More details in “icecc” package in Ubuntu.
1
2
sudo apt-get install icecc
sudo apt-get install icemon(optional)
For clang users, if you want to make icecream compiler package, better to do:
Edit /etc/default/icecc, set START_ICECC_SCHEDULER="true".
Start icecc service: sudo /etc/init.d/icecc start, icecc-scheduler service also could be started with this. Not suggest to run multiple icecc-scheduler in same network with default values, you could edit /etc/icecc/icecc.conf with more options.
Create a ‘qt’ user. Open System Preferences -> Users & Groups -> “+” under the list of users (you might need to click the lock icon first and type in your password), add a user “qt” with your standard password.
Normally just do source ~/.icecc_rc, configure and make.
For clang build(both Linux and Mac OS X), please keep in mind to use -no-pch when configure.
For Qt4 build, the -arch argument that Qt 4 passes to the compiler confuses icecream. So for now, if you use Qt4, you need to patch your mkspec to not add that (if you build for your local architecture only), eg. in mkspecs/common/gcc-base-macx.conf.(Note: looks like it’s only on Mac OS X, I haven’t tried it yet.)
Known Issues
Using icecream currently screws up debug information for all object files that we compiled remotely!(Mac OS X only)
Go to Nokia: See the latest career opportunities. Input “qt” in “Keywords” field, and select “Research & Development” in “Job Category” field, click “Search for Jobs” button. At least I got 9 positions, one in US and 8 in Berlin, Germany. It looks like the projects are about Automotive and using Qt and QML.