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

Développement 2D, 3D et Jeux Discussion :

Collada-dom : problème de compilation


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut Collada-dom : problème de compilation
    Bonjour à tous, je viens pour vous faire part d'un souci rencontré lors de la compilation de la librairie Collada Dom 2.2 sur (http://sourceforge.net/project/showf...kage_id=270665)

    dont les sources sont téléchargeables ici :
    http://sourceforge.net/project/downl...zip&a=72845820

    J'ai suivi le tutoriel https://collada.org/mediawiki/index....de:_Setting_up pour Windows (Mingw, pas Visual Studio). Je ne peux malheureusement pas le faire sous Linux .

    Après exécution du makefile du sous-répertoire /dom, je suis sensé récupéré une librairie statique .a et une librairie dll.

    J'ai donc exécuté le makefile comme indiqué avec mingw32-make, et j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    cd C:\collada-dom-2.2\collada-dom\dom>mingw32-make
    'uname' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    'uname' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    'uname' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    'uname' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    ! était inattendu.
    mingw32-make: *** [build/linux-1.4/obj] Error 255
    J'ai la même chose avec GNU win32 make 3.81.

    C'est surtout la dernière ligne que je ne comprends pas.

    Cela vient il du makefile ? Faut il le modifier d'un manière quelconque ? Le tuto et les readme n'en disent rien.

    Quelqu'un a t il deja compilé et utilisé cette API sous Windows et rencontré ce probléme ? Ou bien possède t il les librairies générées ?

    Je vous remercie d'avance de vos réponses.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    uname est un exécutable système, il te faut donc soit MSYS soit Cygwin, comme indiqué sous la section "Windows (MinGW)" :
    In addition to the compiler you need a Unix environment that includes GNU make 3.81. For this there are at least two choices: MSYS (which can be downloaded from the Sourceforge link above) and Cygwin. Both should work fine.
    MAT.

  3. #3
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Merci pour la rapidité de ta réponse

    Bon j'ai téléchargé Cygwin sur le site officiel et l'ai installé.

    Résultat de la commande make :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    C:\cygwin\bin>make -f "c:\collada-dom-2.2\collada-dom\dom\makefile"
    c:\collada-dom-2.2\collada-dom\dom\makefile:37: Extraneous text after `else' directive
    c:\collada-dom-2.2\collada-dom\dom\makefile:133: Extraneous text after `else' directive
    c:\collada-dom-2.2\collada-dom\dom\makefile:136: *** only one `else' per conditional.  Stop.
    Je ne m'y connais pas beaucoup en makefile. Des suggestions ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Si tu fais make -v pour avoir le numéro de version ça te donne bien 3.81 ?

    MAT.

  5. #5
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Ah, effectivement c'est la version 3.79. Mais il y a une beta de Cygwin 1.7 sur leur site. Je vais tenter.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    C'est bizarre, je ne pense pas avoir pris de version beta et le make de mon cygwin est bien la version 3.81 qui ne date pas d'hier en plus :
    $ make -v
    GNU Make 3.81
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    This program built for i686-pc-cygwin
    MAT.

  7. #7
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    ok après installation de Cygwin 1.7 (http://cygwin.com/setup-1.7.exe) et vérification de la version de make (elle est bien en 3.81 cette fois ci ), me voila avec de nouvelles erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    C:\cygwin\bin>make -f "c:\collada-dom-2.2\collada-dom\dom\makefile"
    c:\collada-dom-2.2\collada-dom\dom\makefile:123: make/minizip.mk: No such file or directory
    c:\collada-dom-2.2\collada-dom\dom\makefile:123: make/dom.mk: No such file or directory
    c:\collada-dom-2.2\collada-dom\dom\makefile:123: make/domTest.mk: No such file or directory
    make: *** Pas de rÞgle pour fabriquer la cible ½ make/domTest.mk ╗. ArrÛt.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Place-toi dans le bon répertoire comme indiqué dans Setting up...
    Go to the <dom-path> directory and run make
    MAT.

  9. #9
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Bien vu, il fallait que je fasse ça par répertoire

    le <dom-path>, c'est bien "c:\collada-dom-2.2\collada-dom\dom", et pas "c:\collada-dom-2.2\collada-dom", non ?

    j'ai tapé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    C:\cygwin\bin>make -C "c:\collada-dom-2.2\collada-dom\dom"
    make: entrant dans le rÚpertoire ½ c:/collada-dom-2.2/collada-dom/dom ╗
    Compiling external-libs/minizip/src/ioapi.c to build/mingw-1.5/obj/ioapi.o
    cygwin warning:
      MS-DOS style path detected: sed -e 's/.*://' -e 's/\$//' < build/mingw-1.5/obj
    /ioapi.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/ioap
    i.d
      Preferred POSIX equivalent is: sed -e 's/.*://' -e 's//$//' < build/mingw-1.5/
    obj/ioapi.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/i
    oapi.d
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
    Compiling external-libs/minizip/src/mztools.c to build/mingw-1.5/obj/mztools.o
    cygwin warning:
      MS-DOS style path detected: sed -e 's/.*://' -e 's/\$//' < build/mingw-1.5/obj
    /mztools.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/mz
    tools.d
      Preferred POSIX equivalent is: sed -e 's/.*://' -e 's//$//' < build/mingw-1.5/
    obj/mztools.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj
    /mztools.d
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
    Compiling external-libs/minizip/src/unzip.c to build/mingw-1.5/obj/unzip.o
    external-libs/minizip/src/unzip.c: In function `unzlocal_GetCurrentFileInfoInter
    nal':
    external-libs/minizip/src/unzip.c:610: warning: suggest explicit braces to avoid
     ambiguous `else'
    external-libs/minizip/src/unzip.c:690: warning: suggest explicit braces to avoid
     ambiguous `else'
    external-libs/minizip/src/unzip.c:715: warning: suggest explicit braces to avoid
     ambiguous `else'
    external-libs/minizip/src/unzip.c: In function `unzlocal_CheckCurrentFileCoheren
    cyHeader':
    external-libs/minizip/src/unzip.c:979: warning: suggest explicit braces to avoid
     ambiguous `else'
    external-libs/minizip/src/unzip.c: In function `unzGetGlobalComment':
    external-libs/minizip/src/unzip.c:1537: warning: unused variable `err'
    cygwin warning:
      MS-DOS style path detected: sed -e 's/.*://' -e 's/\$//' < build/mingw-1.5/obj
    /unzip.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/unzi
    p.d
      Preferred POSIX equivalent is: sed -e 's/.*://' -e 's//$//' < build/mingw-1.5/
    obj/unzip.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/u
    nzip.d
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
    Compiling external-libs/minizip/src/zip.c to build/mingw-1.5/obj/zip.o
    external-libs/minizip/src/zip.c:194: warning: 'free_linkedlist' defined but not
    used
    cygwin warning:
      MS-DOS style path detected: sed -e 's/.*://' -e 's/\$//' < build/mingw-1.5/obj
    /zip.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/zip.d
      Preferred POSIX equivalent is: sed -e 's/.*://' -e 's//$//' < build/mingw-1.5/
    obj/zip.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$/:/' >> build/mingw-1.5/obj/zip
    .d
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
    make: *** Pas de rÞgle pour fabriquer la cible ½ external-libs/minizip/src/iowin
    32.c ╗, nÚcessaire pour ½ build/mingw-1.5/obj/iowin32.o ╗. ArrÛt.
    make: quittant le rÚpertoire ½ c:/collada-dom-2.2/collada-dom/dom ╗
    mais il n'a pas généré les librairies dans c:\collada-dom-2.2\collada-dom\dom\build

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Est-ce qu'il y a quelque chose dans le répertoire external-libs/minizip ?
    Si non il manque donc la dépendance externe Minizip, ce qui ne semble pas listé parmi les pré-requis dans leur documentation...

    MAT.

  11. #11
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Oui il y a 4 dossiers dans external-libs/minizip : /include, /mac; /src, /win32 avec des minizip.lib

    Tu as la possibilité de tester ça sur ton poste ?

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Citation Envoyé par coda_blank Voir le message
    Tu as la possibilité de tester ça sur ton poste ?
    Pas vraiment non, pour être honnête je ne connaissais pas du tout collada avant ce sujet et je ne sais pas du tout ce que c'est...

    MAT.

  13. #13
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Pas vraiment non, pour être honnête je ne connaissais pas du tout collada avant ce sujet et je ne sais pas du tout ce que c'est...
    Collada un format de fichier 3D à l'instar de .3ds ou .obj mais basé sur du XML et peut être importé/exporté par les modeleurs 3D les plus connu (Maya par exemple). Il est considéré comme un standard (libre) dans le domaine (notamment pour les jeux PS3 puisque Sony en est à l'origine).

    Collada Dom permet de lire ce type de fichiers et d'en récupérer la représentation objet pour charger un mesh dans OpenGL ou DirectX.


    Sinon il s'agit juste de la compilation, pas de l'utilisation.

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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