Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

Building Qt3D

Qt3D Binary Packages

Do you have to build Qt3D? Check if binary packages are available for your platform on the Qt downloads page.

This page gives guidelines on how to build Qt3D either from a source package or from a repository snapshot.

Obtaining Qt3D sources

If you want to work with the latest bleeding edge Qt3D features, or if you would like to modify or contribute to Qt3D you can build it from our source repository.

The source for Qt3D is hosted on Gitorious as the git repository qt/qt3d.git. It can be cloned as follows:

 $ mkdir -p $HOME/depot/qt
 $ cd $HOME/depot/qt
 $ git clone git://gitorious.org/qt/qt3d.git

More stable versions of the Qt3D source code is available as source packages from Qt3D downloads page. Just unzip or untar it into your depot directory.

Building Qt3D

The latest version of Qt3D requires Qt 5.0. The QtSDK currently ships with Qt 4.8 so you will need to build from Git.

Just make sure that when you build Qt, that you use the -developer-build option, and do not do a make install as root. The reason for this is when Qt3D builds in it will place the libraries, headers and plugins into the correct position in the hosted Qt library, so that will need to be writable.

If you're working with Qt4.8.x, and want to use Qt3D, you will need to check-out the qt4 branch for Qt3D. After the git clone command earlier, checkout the qt4 code branch by running:

 $ git checkout --track -b qt4 origin/qt4

Instructions for building against Qt4 are fundamentally the same as for Qt5 (except that wherever we select Qt5 in these instructions, you should use Qt4.8), however you should make and review the docs provided in the qt4 branch for accuracy.

Building Qt3D Using QtCreator / QtSDK

Here is a step-by-step guide to building Qt3D using the QtCreator IDE. QtCreator is the development environment for the QtSDK. As you can see in the screenshot below, we're using the beta version 2.5 on Linux, but other operating systems and versions should look similar. Always use the latest release of QtCreator if possible.

Step 1 - Open the Qt3D project.

Choose Open from the File menu and navigate to the qt3d.pro project file $HOME/depot/qt/qt3d/qt3d.pro. Click Open.

Step 2 - Select the Qt and load Qt3D.

Set the Qt5 build that you created above. In the screenshot below there is a situation where we have a number of Qt versions to choose from, so it is easiest to uncheck all of the ones we don't need, then check the one we want - which is the Qt5 version created above. You may need to add it using the "Manage" button first.

After a short time QtCreator will have loaded up the Qt3D project, read all its project files and display the source tree as shown below.

Step 3 - Set up for Building.

Click the projects tab at the left to display the Qt3D target's Build Settings pane, marked in the screenshot below.

Here you can specify a Shadow Build directory. It is always a good idea to build in a shadow directory, instead of inside the source tree.

In the screenshot below we use file management windows invoked by the the browse button to create the shadow build directory as a "new folder", which we'll call "qt3d" to match the project name.

Here's another handy trick - set QtCreator to use multiple cores when it builds, if its supported on your platform. On Mac and other platforms that use GCC I can set the -j 4 argument to make.

Do this by expanding the details of the make step in the projects page, then enter the extra arguments, as shown below.

For Windows check for the jom tool which you will already be using automatically, to see how many parallel jobs your build will use.

Special note for Windows - make sure that the type of build matches the Qt that you are building against. In the case of binary packages, and the Qt that ships with the SDK these are binary release builds - so in those cases set your Qt3D to a release build also. One way to tell that this has gone wrong is that your Qt3D library will be called Qt3Dd.dll (note the lower case "d" for debug) when your QtGui library is called QtGui4.dll (no lower case "d").

Step 4 - Build Qt3D and run a test App.

By default the Qt build system used by QtCreator will build Qt3D in debug mode.

Now hit the build button (marked with a red arrow in the screenshot below)

Qt3D will go ahead and compile all its libraries, plugins and QML imports.

The build is set up so that these will be placed into the directories as specified by the host qmake - inside the Qt build tree. To find what these directories are run qmake -query. If you like after the build you can check those directories to be sure that Qt3D's files got placed there correctly.

As explained above for this reason you will need to have the privileges on your computer to write to the directories given by qmake -query. On Windows this is generally not a problem. On Mac and Linux it should work fine when building with the SDK which is by default installed in your home directory. It will also be fine with builds from a source package.

Qt3D will also place its qt3d.prf and qt3dquick.prf files into the host Qt's QMAKE_MKSPECS/features directory. Again see qmake -query for what that directory is on your system. This means that you can write Qt3D applications in C++ that use the libraries by simply adding CONFIG += qt3d to your .pro file.

If you get early errors about not being able to copy the .prf files then check that you have set up QtCreator to use a Qt that you can write to.

The build will then continue on and compile all of Qt3D's examples and demos, using the libraries as installed. When finished a message like "The process /usr/bin/make exited normally" should be displayed.

There is no need to run a make install step.

Now you can use QtCreator to run one of the examples. You can do this by right clicking on the example you want to run in the build tree (in this case, the "basket" app), then clicking the green arrow bottom to actually launch the app.

Congratulations on building Qt3D!

Building from the Command Line

On Linux assuming that you have built Qt 5 in $HOME/build/qt5, you would configure and build Qt3D as follows:

 $ cd $HOME/build/qt5
 $ make module-qt3d
 $ make -j 4
 $ bin/basket

Note that the $ above means the shell prompt (don't type the {$}).

The last line runs the example QML application moon to check that the build went OK.

On Windows (with Visual Studio) those commands look like this:

 cd \build\qt5
 nmake module-qt3d
 bin\basket

These commands for Windows assume that your Qt build for Qt5 is in the current PATH - so that the qmake invoked above is actually going to be the Qt5 qmake.

Once you have built Qt3D, you can run the "teapot" example:

 $ cd $HOME/build/qt5/qt3d
 $ bin/teapot

If all goes well, you should see something like the following on the screen:

Qt3D has been tested with Qt/X11 and Qt/Embedded under Linux, on MacOSX and Windows XP. It also runs on Symbian^3 and MeeGo/Maemo.

Patches for other platforms are welcome.

Return to the main Qt3D page or Continue to the Tutorials and Examples.

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web