IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Irrlicht Discussion :

Installation de Irrlicht SDK 1.7 pour MacOSX SL (sans utiliser Xcode)


Sujet :

Irrlicht

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Installation de Irrlicht SDK 1.7 pour MacOSX SL (sans utiliser Xcode)
    Bonjour tout le monde,

    Voilà, depuis hier je tente de compiler la version 1.7 du SDK pour mon Mac.

    Je possède un Mac OSX sous 10.6.3
    version de gcc : 4.2.1 (Apple Inc. build 5659)

    Voilà ma démarche actuelle :

    1. Soit (cela revient au même) :
    2. J'obtiens un dossier contentant sources, exemples, bin, lib, includes.
    3. Je vais dans source/Irrlicht/MacOSX/ et j'ouvre le fichier MaxOSC.xcodeproj, Xcode se lance.
    4. Dans le panneau Groups & Files, je fais Get Info sur Targets->libIrrlicht.a.
    5. Dans l'onglet Build de l'inspecteur, je choisis Standard (32/64-bit Universal) pour Architectures et Current MacOSX pour Base SDK, puis je ferme l'inspecteur.
    6. Dans la sélection Overview de la fenetre du projet, je sélectionne Release et x86_64. Normalement les autres options sont déjà sur les bonnes valeurs, mais au cas où : Active SDK->Use Base SDK et Active Target->libIrrlicht.a.
    7. Je lance la compilation. La je me pose souvent la question. Des fois j'ai plus de 300 sources à compiler, des fois plus de 600, mais là alors que j'en parle, y'en a plus de 900. Pourtant à chaque fois que j'essaie je nettoie bien tout, ... bref. Durant la compilation 4 erreurs s'affichent. Toutes la même et dans le même fichier :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Cast from void* to GLuint loses precision
      GLuint est juste un unsigned int, alors je suppose qu'en 64bits, un unsigned int ne tient pas dans 64 bits alors qu'un void* si, et du coup on perd des données. Sans aller trop loin, j'ai modifié directement le code aux quatres lignes en question. Voici l'une d'elles (les autres sont les même quasiment) :
      fichier COpenGLSLMaterialRenderer.cpp
      Driver->extGlProgramParameteri((GLUint)Program, GL_GEO......

      Program est de type void* je fais juste :

      Driver->extGlProgramParameteri((long GLUint)Program, GL_GEO......
    8. Je reprend la compilation. Cette fois ça fonctionne, mais comme avant on s'accompagne de moult warnings concernant des fonctions appelées qui sont notées deprecated.
    9. Une fois la compilation terminée, j'obtiens le fichier libIrrlicht.a que je met dans /usr/local/lib/ et j'en profite pour balancer l'ensemble des .h fournis avec le SDK dans /usr/local/include/irrlicht.
    10. Maintenant je passe au test. Je vais en terminal dans le dossier contenant le premier exemple d'Irrlicht. Je modifie le main.cpp pour que #include <irrlicht> deviennt #include <irrlicht/irrlicht>. Puis je lance make


    Et là j'obtient une liste de warning et d'erreur, la liste est trop longue aussi voici un lien : http://www.filehosting.org/file/deta...Homj01/irr.txt

    Pour ne pas vous obliger à prendre le lien, voici un extrait de quelques erreurs :
    ld: warning: irr::core::irrAllocator<char>::internal_delete(void*)has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(Irrlicht.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o

    ld: warning: irr::core::irrAllocator<char>::internal_new(unsigned long)has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(CIrrDeviceStub.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o

    ld: warning: vtable for irr::core::irrAllocator<char>has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(CIrrDeviceStub.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o

    Undefined symbols:
    "_NSDefaultRunLoopMode", referenced from:
    irr::CIrrDeviceMacOSX::run() in libIrrlicht.a(CIrrDeviceMacOSX.o)
    "_OBJC_CLASS_$_NSEvent", referenced from:
    objc-class-ref-to-NSEvent in libIrrlicht.a(CIrrDeviceMacOSX.o)
    "_CGDisplayHideCursor", referenced from:
    irr::CIrrDeviceMacOSX::setCursorVisible(bool) in libIrrlicht.a(CIrrDeviceMacOSX.o)
    irr::CIrrDeviceMacOSX::CCursorControl::setVisible(bool) in libIrrlicht.a(CIrrDeviceMacOSX.o)

    "_CGDisplayPixelsWide", referenced from:
    irr::CIrrDeviceMacOSX::createWindow() in libIrrlicht.a(CIrrDeviceMacOSX.o)

    Donc voilà, impossible d'utiliser Irrlicht sur ma machine.J'aimerais savoir pourquoi, ça c'est le step-by-step de ce que j'ai fait après plusieurs essais dans un sens, ou dans l'autre, pour en arriver là.
    Si quelqun a déjà eu le soucis, ou sait comment régler, merci de m'aider

    Bonne journée,
    Oragon

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Ok, j'ai cherché un peu plus loin et j'ai vu que j'avais juste oublié de mettre le LDFLAGS de mon makefile à la bonne valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LDFLAGS += -dylib_file \
    /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:\
    /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib \
    -framework Cocoa -framework OpenGL -framework Carbon -framework IOKit
    Du coup le code peut compiler, se linker, et l'application se lancera, par contreleswarnings sont toujours là et ressemblent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ld: warning: irr::core::irrAllocator<char>::internal_new(unsigned long)has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(Irrlicht.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o
    ld: warning: vtable for irr::core::irrAllocator<char>has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(Irrlicht.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o
    ld: warning: typeinfo for irr::core::irrAllocator<char>has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(Irrlicht.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o
    ld: warning: typeinfo name for irr::core::irrAllocator<char>has different visibility (hidden) in /usr/local/lib/libIrrlicht.a(Irrlicht.o) and (default) in /var/folders/Jr/JrnnXqDVHNWUQsqR-6APyk+++TI/-Tmp-//ccICRujH.o
    De plus, le programme ne peut pas se lancer réellement puisque chaque chargement de fichier, que ce soit un mesh, une image ou autre chose, se solde par un message d'erreur. Voici par exemple le résultat du lancement du premier exemple (01.Hello World) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Irrlicht Engine version 1.7.1-beta
    Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root-xnu-1504.3.12~RELEASE_I386
    Could not load mesh, because file could not be opened: : ../../media/sydney.md2
    Bien sûr j'ai vérifié, le fichier est bien là dans ../../media/sydney.md2. J'ai même posé une copie du fichier dans le dossier du programme, et changé le main en conséquence, ... pas de différence, cela ne fonctionne toujours pas

  3. #3
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Bonjour,

    Il faut tester avec un chemin absolu pour voir si cela fonctionne, ensuite tenter de changer ../../ par ..\..\

    J'ai même posé une copie du fichier dans le dossier du programme, et changé le main en conséquence, ... pas de différence, cela ne fonctionne toujours pas
    Testé avec "./sydney.md2" & "sydney.md2" & ".\sydney.md2" ?

    Le seul essai que j'ai fait sous Mac c'est de compiler un programme avec irrlicht pour iphone et à part 3000 warning cela fonctionnait bien

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/02/2011, 03h10
  2. codec pour macOSX
    Par ToTo13 dans le forum Apple
    Réponses: 10
    Dernier message: 02/03/2007, 20h41
  3. Réponses: 1
    Dernier message: 16/09/2006, 19h49
  4. [VS.Net]Probleme d'installation avec DirectX SDK
    Par ThanosT dans le forum DirectX
    Réponses: 2
    Dernier message: 07/05/2005, 23h55
  5. Installation de crystal report web server pour linux
    Par shadowR dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 12/12/2004, 01h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo