Cross-compilation de Qt4


précédentsommairesuivant

II. La configuration

La commande de base :

 
Sélectionnez

configure -xplatform linux-g++

Voyez dans les sections suivantes pour ajouter d'autres options (si nécessaire).

II-A. Plateforme

Vous pouvez remplacer l'argument de -xplatform par un de la liste ci-dessous (classée par système d'exploitation / architecture selon l'ordre alphabétique).
GCC signifie que vous avez besoin de GCC et de G++, dans la même version.
Les suffixes sont en général très explicites : -64 pour un système 64 bits, -32 pour un système 32 bits, 34 pour GCC 3.4, 40 pour GCC 4.0 et autres du même genre.

Vous pouvez aussi utiliser ces drapeaux avec -platform si votre plateforme n'est pas bien reconnue.

II-A-1. IBM AIX

Pour GCC :

  • aix-g++
  • aix-g++-64

Pour XLC :

  • aix-xlc
  • aix-xlc-64

II-A-2. *BSD

Pour GCC :

  • freebsd-g++
  • freebsd-g++34
  • freebsd-g++40
  • netbsd-g++
  • openbsd-g++

Pour Intel C++ Compiler :

  • freebsd-icc

II-A-3. Darwin

Pour GCC

  • darwin-g++

II-A-4. HP-UX

Pour aC++ :

  • hpux-acc
  • hpux-acc-64
  • hpux-acc-o64

Pour GCC :

  • hpux-g++
  • hpux-g++-64

II-A-5. HP-UX 11i

Pour aC++ :

  • hpuxi-acc-32
  • hpuxi-acc-64

Pour GCC :

  • hpux-g++-64

II-A-6. GNU Hurd

Pour GCC (évidemment, celui-là et pas un autre) :

  • hurd-g++

II-A-7. Irix

Pour SCI CC :

  • irix-cc
  • irix-cc-64

Pour GCC :

  • irix-g++
  • irix-g++-64

II-A-8. Linux

Pour Compaq C++ (uniquement sur processeur Alpha) :

  • linux-cxx

Pour Intel C++ (7.1 et 8.0, autres versions non-testées avec cette directive) :

  • linux-ecc-64

Pour GCC :

  • linux-g++
  • linux-g++-32 (synonyme de linux-g++)
  • linux-g++-64
  • linux-llvm
  • linux-lsb-g++

Pour Intel C++ (10) :

  • linux-icc
  • linux-icc-32 (synonyme de linux-icc)
  • linux-icc-64

Pour Kai C++ (4.0f) :

  • linux-kcc

II-A-9. LynxOS

Pour GCC :

  • lynxos-g++

II-A-10. MacOS X

Pour GCC :

  • macx-g++
  • macx-llvm

Pour Intel C++ :

  • macx-icc

Pour XLC :

  • macx-xlc

Pour XCode (configuration spéciale pour cet IDE) :

  • macx-xcode

II-A-11. SCO

Pour CC :

  • sco-cc

Pour GCC :

  • sco-g++

II-A-12. Solaris et OpenSolaris

Pour CC :

  • solaris-cc
  • solaris-cc-64

Pour GCC :

  • solaris-g++
  • solaris-g++-64

II-A-13. Microsoft Windows

Avec Cygwin, pour GCC :

  • cygwin-g++

Pour Borland C++ :

  • win32-borland

Pour GCC / MinGW :

  • win32-g++

Pour Intel C++ Compiler :

  • win32-icc

Pour Visual Studio :

  • win32-msvc
  • win32-msvc.net
  • win32-msvc2002
  • win32-msvc2003
  • win32-msvc2005
  • win32-msvc2008

II-B. Release ou debug

Une version debug est prévue pour le débugging, pas pour les performances, contrairement à une version release. Si vous générez les deux, ce sera moins d'ennuis pour plus tard, quand vous distribuerez ou débuggerez votre application.

  • -debug : uniquement la version debug
  • -release : uniquement la version release (ou retail)
  • -debug-and-release : les deux

II-C. Statique ou dynamique

Une application liée avec des librairies statiques ne s'encombre pas de fichiers .dll, .dylib ou .so, elle les intègre tous dans son exécutable (plus lourd, ainsi, mais les versions ne peuvent plus être changées par l'utilisateur ... ou vos mises à jour). Cette application pourra utiliser uniquement les plugins qui lui sont liés statiquement, sans pouvoir utiliser le moindre autre.

  • -shared : dynamique
  • -static : statique

II-D. Exceptions

Cours sur les exceptions.

  • -no-exceptions
  • -exceptions

II-E. Accessibilité

Les plugins d'accessibilité servent aux personnes déficientes visuellement (un logiciel de lecture peut traiter plus facilement votre application, la traduire en Braille ...), auditivement ... via des standards reconnus et déployés.

  • -no-accessibility
  • -accessibility

II-F. STL

Active ou pas le support de la STL dans Qt (un conteneur de la STL pourra être utilisé dans Qt).

  • -no-stl
  • -stl

II-G. Module SQL

  • -no-sql-[[pilote]] : pas de support de ce pilote
  • -qt-sql-[[pilote]] : support compilé en dur dans QtSQL
  • -plugin-sql-[[pilote]] : support lié à l'exécution

Les pilotes suivants sont reconnus, vous devez disposer des en-têtes de la librairie pour pouvoir en compiler le support (libmysql pour MySQL, libpsql pour PostgreSQL ...) :

  • mysql
  • psql
  • oci
  • odbc
  • tds
  • db2
  • sqlite
  • sqlite2
  • ibase

II-H. Librairies additionnelles

  • -qt-[[lib]] : utilise la version fournie avec Qt
  • -system-[[lib]] : utilise la version du système
  • -no-[[lib]] : ne pas utiliser la librairie

Les librairies sont :

  • zlib
  • libpng
  • libmng
  • libtiff
  • libjpeg

II-I. Uniquement pour Windows

II-I-1. Projets

  • -no-dsp : pas de projets Visual Studio (avant la version 7)
  • -dsp : projets Visual Studio (avant la version 7)
  • -vcproj : pas de projets Visual Studio (version 7 et supérieures)
  • -no-vcproj : projets Visual Studio (version 7 et supérieures)

II-I-2. QMake

  • -no-qmake (très déconseillé, car nécessaire pour une bonne partie de la compilation de Qt !)
  • -qmake

II-I-3. RTTI

Active ou pas la capacité de déterminer le type d'une variable à l'exécution.

  • -rtti
  • -no-rtti

II-I-4. Extensions processeur

  • -no-mmx
  • -mmx
  • -no-3dnow
  • -no-sse
  • -no-sse2

II-I-5. Frameworks additionnels

  • -openssl (OpenSSL, nécessite un SDK supplémentaire)
  • -no-dbus
  • -dbus (DBus, nécessite un SDK supplémentaire)
  • -no-phonon
  • -phonon
  • -no-phonon-backend
  • -phonon-backend
  • -no-webkit
  • -webkit

Pour compiler OpenSSL et dBus, vous aurez besoin de leurs en-têtes.
dBus peut être désormais utilisé grâce au portage effectué par KDE : regardez ici, aux fichiers dbus-[mingw|msvc]-1.2.4-1-[bin-lib-src].tar.bz2 et préférez les fichiers précompilés (bin et lib).


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

GCC et la compilation croisée
Compilation de GCC 4 sous Windows
Cross-compilation avec GCC 4 sous Windows pour Linux
Cross-compilation de Qt4
  

Copyright © 2009 Thibaut Cuvelier. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.