Qtfr

La communauté francophone

Annonce

La dernière version de Qt est sortie : Qt 4.6.1, ainsi qu'une mise à jour du SDK : Qt SDK 2010.01. QtCreator est en version : 1.3.1

Forum Qtfr

La communauté francophone

Vous n'êtes pas identifié.

#1 13-05-2008 23:54:05

medintux
Membre
Lieu: La Roque Alric (84190)
Date d'inscription: 17-07-2004
Messages: 44
Site web

[Qt3-Mac] Compilation QT3 sur leopard OSX 10.5

Bonjour tous,

La compilation de QT 3 ne semble pas possible sous
OSX 10.5 alors qu'elle est possible sous 10.4.

Le message lors du configure est " La version de l'OS n'est pas compatible"
une rechercher sur le net m'a permis de découvrir que le PB est connu,
mais la solution non connue.

Peut être avez vous une idée ?

Merci pour vos réponses

Roland Sevin


--
Sevin Roland
http://medintux.org/medintux/
roland-sevin@no-spaSme@medintux.org

Hors ligne

 

#2 20-05-2008 06:06:02

medintux
Membre
Lieu: La Roque Alric (84190)
Date d'inscription: 17-07-2004
Messages: 44
Site web

Re: [Qt3-Mac] Compilation QT3 sur leopard OSX 10.5

Problème résolu par l'application 'à la main' du patch suivant
dont la méthode de détermination de l'OS ne fonctionne pas.
Je l'ai donc mis en dur dans le ficher : config.tests/mac/mac_version.test
et tout s'est bien passé : Ci dessous méthode.

====== Début ==========
Intégration du patch suivant :
http://fink.cvs.sourceforge.net/*checko … mac.patch2
à la main sur les différents fichers ci-dessous.

-----------------------  config.tests/mac/mac_version.test -----------------------

rm -f $TSTFILE
echo "#include <Carbon/Carbon.h>" >$TSTFILE
echo "#include <stdio.h>" >>$TSTFILE
echo "int main() {" >>$TSTFILE
echo "  long gestalt_version;" >>$TSTFILE
# echo "  fprintf(stdout, \"%d\\n\", (Gestalt(gestaltSystemVersion, &gestalt_version) == noErr) ? gestalt_version : 0);" >>$TSTFILE   # dcommenter sous <= 10.4
echo "  fprintf(stdout, \"0x1050\");" >>$TSTFILE      # décommenter sous <= 10.5 la solution du patch ne fonctionnant pas on écrit le numéro en dur
echo "  return 1;" >>$TSTFILE
echo "}" >>$TSTFILE

----------------------- QT/include/qglobal.h -----------------------
                        QT/src/tools/qglobal.h

ne pas oublier sous Mac OSX 10.5 de modifier :  QT/include/qglobal.h
ne pas oublier sous Mac OSX 10.5 de modifier :  QT/src/tools/qglobal.h
Ligne 187

#if defined(Q_OS_MACX)
#  ifdef MAC_OS_X_VERSION_MIN_REQUIRED
#    undef MAC_OS_X_VERSION_MIN_REQUIRED
#  endif
#  define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_2
#  include <AvailabilityMacros.h>
#  if !defined(MAC_OS_X_VERSION_10_3)
#     define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1
#  endif
#  if !defined(MAC_OS_X_VERSION_10_4)
#       define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1
#  endif
//..................... rajouter ...............
#  if !defined(MAC_OS_X_VERSION_10_5)
#       define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 1
#  endif
//..................... fin du rajout ..................
#  if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5)    // <---- changer MAC_OS_X_VERSION_10_4 par MAC_OS_X_VERSION_10_5
#    error "This version of Mac OS X is unsupported"
#  endif
#endif
----------------------- /src/kernel/qt_mac.h -----------------------
fichier :   /src/kernel/qt_mac.h
Ligne 54 :
remplacer :
      #if !defined(Q_WS_MACX) || QT_MACOSX_VERSION < 0x1020 || QT_MACOSX_VERSION >= 0x1030
           # define QMAC_NO_FAKECURSOR
      #endif
par :
      #if !defined(Q_WS_MACX) || QT_MACOSX_VERSION < 0x1020 || (QT_MACOSX_VERSION >= 0x1030 && QT_MACOSX_VERSION <= 0x1040)
           # define QMAC_NO_FAKECURSOR
      #endif

----------------------- /src/kernel/qcursor_mac.cpp -----------------------

===> Remplacer Ligne 177 :

#ifdef QMAC_USE_BIG_CURSOR_API
    char *big_cursor_name;
#endif
    CursorImageRec *ci;
    struct {
        QMacAnimateCursor *anim;
        ThemeCursor curs;
Par :

#ifdef QMAC_USE_BIG_CURSOR_API
    char *big_cursor_name;
#endif
#ifdef QMAC_NO_FAKECURSOR
    CursorImageRec *ci;
#endif
    struct {
        QMacAnimateCursor *anim;
        ThemeCursor curs;

===> Remplacer Ligne 259 :

    if(type == TYPE_CursPtr) {
    if(curs.cp.hcurs && curs.cp.my_cursor)
        free(curs.cp.hcurs);
    } else if(type == TYPE_CursorImage) {
    free(curs.ci);

Par :

    if(type == TYPE_CursPtr) {
    if(curs.cp.hcurs && curs.cp.my_cursor)
        free(curs.cp.hcurs);
#ifdef QMAC_NO_FAKECURSOR       
    } else if(type == TYPE_CursorImage) {
    free(curs.ci);
#endif
====== Fin ============


--
Sevin Roland
http://medintux.org/medintux/
roland-sevin@no-spaSme@medintux.org

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr