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  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Compiler Notes

This page contains information about the C++ compilers and tools used to build Qt on various platforms.

Please refer to the Platform Notes for information on the platforms Qt is currently known to run on, and see the Supported Platforms page for information about the status of each platform.

If you have anything to add to this list or any of the platform or compiler-specific pages, please submit it via the Bug Report Form or through the Public Qt Repository.

Supported Features

Not all compilers used to build Qt are able to compile all modules. The following table shows the compiler support for five modules that are not uniformly available for all platforms and compilers.

CompilerFeatures
ConcurrentXmlPatternsWebKitCLucenePhonon
g++ 3.3XXX
g++ 3.4 and upXXXXX
SunCC 5.5XX
aCC series 3XX
aCC series 6XXXXX
xlC 6XX
Intel CC 10XXXXX
MSVC 2003XXXX
MSVC 2005 and upXXXXX

GCC

GCC on Windows (MinGW)

We have tested Qt with this compiler on Windows XP. The minimal version of MinGW supported is:

  • GCC 3.4.2
  • MinGW runtime 3.7
  • win32api 3.2
  • binutils 2.15.91
  • mingw32-make 3.80.0-3

Note: For users of the MinGW binary package: This package is now based on MinGW 4.4. The installer no longer offers to download MinGW for you, but rather offers to use a version of MinGW that you already have installed on your machine. You just tell the installer which directory MinGW is installed in. If you don't already have MinGW 4.4 installed, you can download a .zip archive from our ftp site. This archive provides fixes to MinGW and support for missing API, See the _patches directory in the archive for details.

Note: A MinGW installation is only needed to build against the binary pacakge, not to run the pre-compiled binaries that are in the package.

GCC 4.0.0

The released package of the compiler has some bugs that lead to miscompilations. We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work with Qt for Mac OS X.

HP-UX

The hpux-g++ platform is tested with GCC 3.4.4.

Solaris

Please use GCC 3.4.2 or later.

Mac OS X

Please use the latest GCC 3.3 from Apple or a later version of GCC 3. The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code. Use the November 2004 GCC 3.3 updater available from Apple.

GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)

This compiler is known to miscompile some parts of Qt when doing a release build. There are several workarounds:

  1. Use a debug build instead.
  2. For each miscompilation encountered, recompile the file, removing the -O2 option.
  3. Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.

HP ANSI C++ (aCC)

The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.

Intel C++ Compiler

Qt supports the Intel C++ compiler on both Windows and Linux. However, there are a few issues on Linux (see the following section).

Intel C++ Compiler for Linux

Nokia currently tests the following compilers:

  • Intel(R) C++ Compiler for applications running on IA-32, Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
  • Intel(R) C++ Compiler for applications running on Intel(R) 64, Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017

We do not currently test the IA-64 (Itanium) compiler.

Known Issues with Intel C++ Compiler for Linux

  • Precompiled header support does not work in version 10.0.025 and older. For these compilers, you should configure Qt with -no-pch. Precompiled header support works properly in version 10.0.026 and later.
  • Version 10.0.026 for Intel 64 is known to miscompile qmake when building in release mode. For now, configure Qt with -debug. Version 10.1.008 and later can compile qmake in release mode.
  • Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are known crash with "(0): internal error: 0_47021" when compiling QtXmlPatterns, QtWebKit, and Designer in release mode. Version 10.1.017 compiles these modules correctly in release mode.

Intel C++ Compiler (Windows, Altix)

Qt 4 has been tested successfully with:

  • Windows - Intel(R) C++ Compiler for 32-bit applications, Version 9.1.040.
  • Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030

We currently only test the Intel compiler on 32-bit Windows versions.

MIPSpro (IRIX)

IRIX is an unsupported platform. See the Supported Platforms page and Qt's Software's online Platform Support Policy page for details.

Qt 4.4.x requires MIPSpro version 7.4.2m.

Note that MIPSpro version 7.4.4m is currently not supported, since it has introduced a number of problems that have not yet been resolved. We recommend using 7.4.2m for Qt development. However, please note the unsupported status of this platform.

Forte Developer / Sun Studio (Solaris)

Sun Studio

Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to Sun Studio Patches page on Sun's Web site to download the latest patches for your Sun compiler.

Please note that Qt 4.6 is stricter in its STL requirements and that the default STL implementation used by Sun CC does not pass those requirements. This does not affect binary compatibility and you can continue to use STL in your own code, but Qt's STL-compatibility functions will be disabled.

Sun CC ships with a secondary STL implementation (called stlport4) which is standards-compliant and can be used by Qt. You can enable it by passing the -library=stlport4 option to the compiler. Note that this does not affect Qt's binary compatibility, but it may affect that of other libraries and programs that use STL.

Sun WorkShop 5.0

Sun WorkShop 5.0 is not supported with Qt 4.

Visual Studio (Windows)

We do most of our Windows development on Windows XP, using Microsoft Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit versions).

Qt works with the Standard Edition, the Professional Edition and Team System Edition of Visual Studio 2005.

We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.

In order to use Qt with the Visual Studio 2005/2008 Express Edition you need to download and install the platform SDK. Due to limitations in the Express Edition it is not possible for us to install the Qt Visual Studio Integration. You will need to use our command line tools to build Qt applications with this edition.

The Visual C++ Linker doesn't understand filenames with spaces (as in C:\Program files\Qt\) so you will have to move it to another place, or explicitly set the path yourself; for example:

 QTDIR=C:\Progra~1\Qt

If you are experiencing strange problems with using special flags that modify the alignment of structure and union members (such as /Zp2) then you will need to recompile Qt with the flags set for the application as well.

If you're using Visual Studio .NET (2002) Standard Edition, you should be using the Qt binary package provided, and not the source package. As the Standard Edition does not optimize compiled code, your compiled version of Qt would perform suboptimally with respect to speed.

With Visual Studio 2005 Service Pack 1 a bug was introduced which causes Qt not to compile, this has been fixed with a hotfix available from Microsoft. See this Knowledge Base entry for more information.

IBM xlC (AIX)

The makeC++SharedLib utility must be in your PATH and be up to date to build shared libraries. From IBM's C and C++ Application Development on AIX Redbook:

  • "The second step is to use the makeC++SharedLib command to create the shared object. The command has many optional arguments, but in its simplest form, can be used as follows:"
     /usr/vacpp/bin/makeC++SharedLib -o shr1.o cplussource1.o
  • "The full path name to the command is not required; however, to avoid this, you will have to add the directory in which it is located to your PATH environment variable. The command is located in the /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX, Version 5 compiler."

VisualAge C++ for AIX, Version 6.0

Make sure you have the latest upgrades installed.

GCCE (Symbian)

GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported when compiling Qt applications for Symbian platform.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 103
  2. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 56
  3. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 90
  4. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 31
  5. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 11
Page suivante
  1. Linus Torvalds : le "C++ est un langage horrible", en justifiant le choix du C pour le système de gestion de version Git 100
  2. Comment prendre en compte l'utilisateur dans vos applications ? Pour un développeur, « 90 % des utilisateurs sont des idiots » 231
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Apple cède et s'engage à payer des droits à Nokia, le conflit des brevets entre les deux firmes s'achève 158
  5. Nokia porte à nouveau plainte contre Apple pour violation de sept nouveaux brevets 158
  6. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 103
  7. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
Page suivante

Le Qt Developer Network au hasard

Logo

Comment fermer une application

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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 4.6-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