Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Assimp

Sujet résolu
Anonyme
    12 avril 2021 à 0:27:29

    J'ai bien ajouté le dossier bin de MinGW dans mon système. Mais je n'ai pas de fichier avec nom "mingw32-make.exe" dans mon MinGW.


    Ah si, je l'ai ! Je ne l'avais pas vu.

    -
    Edité par Anonyme 12 avril 2021 à 0:29:18

    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2021 à 0:36:25

      Si tu tapes mingw32-make.exe --version dans powershell ou l'invité de commande, ça donne bien la version de GNU make? Tu n'as pas d'erreur?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        12 avril 2021 à 0:38:42

        Voici le texte :

        GNU Make 4.2.1
        Built for x86_64-w64-mingw32
        Copyright (C) 1988-2016 Free Software Foundation, Inc.
        License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
        This is free software: you are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.

        • Partager sur Facebook
        • Partager sur Twitter
          12 avril 2021 à 1:01:41

          Etrange, et tu as tout de même une erreur avec CMake?

          Tu peux toujours ajouter quelque chose comme -DCMAKE_MAKE_PROGRAM="C:/MinGW/mingw64/bin/mingw32-make.exe" à la première commande cmake que j'ai citée.

          -
          Edité par SpaceIn 12 avril 2021 à 1:02:19

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            12 avril 2021 à 1:32:37

            Oui, c'est bizarre. J'ai des erreurs dans le code de Assimp...


            J'ai ça :


            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:71:8: note: 'rapidjson::GenericValue<rapidjson::UTF8<> >::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >'} declared here
             struct GenericMember {
                    ^~~~~~~~~~~~~
            In file included from C:/Users/Hubert/Downloads/assimp-5.0.1/code/glTF2/glTF2Asset.h:67,
                             from C:\Users\Hubert\Downloads\assimp-5.0.1\code\glTF2\glTF2Importer.cpp:46:
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; rapidjson::SizeType = unsigned int]':
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2438:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/reader.h:2099:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/reader.h:2173:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/reader.h:560:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2226:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2242:62:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2267:58:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2275:47:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
            C:/Users/Hubert/Downloads/assimp-5.0.1/code/glTF2/glTF2Asset.inl:1382:34:   required from here
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:2002:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class rapidjson::GenericValue<rapidjson::UTF8<> >' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
                         std::memcpy(e, values, count * sizeof(GenericValue));
                         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            C:/Users/Hubert/Downloads/assimp-5.0.1/contrib/rapidjson/include/rapidjson/document.h:551:7: note: 'class rapidjson::GenericValue<rapidjson::UTF8<> >' declared here
             class GenericValue {


            J'ai essayé de regarder des tutoriels vidéos et la plupart me disent de prendre le fichier ".msi" puis de se rendre dans l'application CMake ajoutée sur le bureau. Je préfère faire comme ça.


            Je remarque d'un code fait sur Visual Studio ou CodeBlocks, qui ont un ancien MinGW, ne fonctionne pas sur mon MinGW. Ça aurait peut-être un rapport.

            -
            Edité par Anonyme 12 avril 2021 à 12:23:26

            • Partager sur Facebook
            • Partager sur Twitter
              12 avril 2021 à 12:39:12

              Je ne vois pas d'erreur dans ton message, juste des warnings.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                17 avril 2021 à 0:08:40

                J'ai ajouté -DCMAKE_MAKE_PROGRAM="C:/MinGW/mingw64/bin/mingw32-make.exe" après la première ligne CMake. J'ai eu "libassimp.dll" et "libassimp.dll.a". Je les ai donc ajoutés à MinGW (je sais, c'est mal, mais je veux d'abord faire fonctionner CMake avant de changer d'habitude, sinon, je me perdrais :)). J'ai bien ajouté mes linkers à mon IDE, mais j'ai toujours ces erreurs :

                Main.o:Main.cpp:(.text.startup+0x13): undefined reference to `Assimp::Importer::Importer()'
                Main.o:Main.cpp:(.text.startup+0x1b): undefined reference to `Assimp::Importer::~Importer()'

                Désolé pour la réponse tardive, j'avais oublié.

                • Partager sur Facebook
                • Partager sur Twitter
                  17 avril 2021 à 0:12:26

                  Vérifiez que ces fonctions sont bien exportées par la lib "libassimp.dll.a".
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                  Anonyme
                    17 avril 2021 à 0:18:11

                    Je ne suis pas sûr d'avoir toutes les fontions car "libassimp.dll.a" ne fait que 11 Ko.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 avril 2021 à 0:22:32

                      MO9845 a écrit:

                      Je ne suis pas sûr d'avoir toutes les fontions car "libassimp.dll.a" ne fait que 11 Ko.


                      C'est normal...

                      Tout ce que ce fichier contient, c'est le prototype des fonctions exposées par assimp, vu que le code binaire exécutable  de ces fonctions se trouve en réalité dans la dll.

                      Ce fichier n'est présent que pour permettre à l'éditeur  de liens de savoir que, lorsque tu vas charger la dll, les fonctions exposées seront bel et bien présentes ;).

                      Il pourrait parfaitement être remplacé par un fichier .def, qui n'est qu'un fichier texte qui contient le symbole associé à chaque fonction.

                      Ce qui importe, c'est que, à coté de ce fichier .dll.a, tu aies effectivement une dll qui pèse, a priori, largement plus lourd :D

                      -
                      Edité par koala01 17 avril 2021 à 0:23:25

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                      Anonyme
                        17 avril 2021 à 0:23:36

                        Donc comment résoudre mon erreur, please ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 avril 2021 à 0:59:45

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                          Anonyme
                            17 avril 2021 à 1:04:08

                            J'ai ça :

                            libassimp.dll.a:d003203.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003203.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003203.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003203.o:0000000000000000 I libassimp_dll_iname
                            libassimp.dll.a:d003189.o:0000000000000000 i .idata$2
                            libassimp.dll.a:d003189.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003189.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003189.o:0000000000000000 I _head_libassimp_dll
                            libassimp.dll.a:d003189.o:                 U libassimp_dll_iname
                            libassimp.dll.a:d003202.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003202.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003202.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003202.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003202.o:0000000000000000 t .text
                            libassimp.dll.a:d003202.o:0000000000000000 I __imp__ZTVN3irr2io17IFileReadCallBackE
                            libassimp.dll.a:d003202.o:0000000000000000 I __nm__ZTVN3irr2io17IFileReadCallBackE
                            libassimp.dll.a:d003202.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003201.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003201.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003201.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003201.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003201.o:0000000000000000 t .text
                            libassimp.dll.a:d003201.o:0000000000000000 I __imp__ZTVN3irr2io17CFileReadCallBackE
                            libassimp.dll.a:d003201.o:0000000000000000 I __nm__ZTVN3irr2io17CFileReadCallBackE
                            libassimp.dll.a:d003201.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003200.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003200.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003200.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003200.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003200.o:0000000000000000 t .text
                            libassimp.dll.a:d003200.o:0000000000000000 I __imp__ZTIN3irr2io17IFileReadCallBackE
                            libassimp.dll.a:d003200.o:0000000000000000 I __nm__ZTIN3irr2io17IFileReadCallBackE
                            libassimp.dll.a:d003200.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003199.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003199.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003199.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003199.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003199.o:0000000000000000 t .text
                            libassimp.dll.a:d003199.o:0000000000000000 I __imp__ZTIN3irr2io17CFileReadCallBackE
                            libassimp.dll.a:d003199.o:0000000000000000 I __nm__ZTIN3irr2io17CFileReadCallBackE
                            libassimp.dll.a:d003199.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003198.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003198.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003198.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003198.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003198.o:0000000000000000 t .text
                            libassimp.dll.a:d003198.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF32EPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003198.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003198.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF32EPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003197.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003197.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003197.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003197.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003197.o:0000000000000000 t .text
                            libassimp.dll.a:d003197.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF32EPKc
                            libassimp.dll.a:d003197.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003197.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF32EPKc
                            libassimp.dll.a:d003196.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003196.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003196.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003196.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003196.o:0000000000000000 t .text
                            libassimp.dll.a:d003196.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF32EP6_iobuf
                            libassimp.dll.a:d003196.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003196.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF32EP6_iobuf
                            libassimp.dll.a:d003195.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003195.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003195.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003195.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003195.o:0000000000000000 t .text
                            libassimp.dll.a:d003195.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF16EPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003195.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003195.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF16EPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003194.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003194.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003194.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003194.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003194.o:0000000000000000 t .text
                            libassimp.dll.a:d003194.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF16EPKc
                            libassimp.dll.a:d003194.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003194.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF16EPKc
                            libassimp.dll.a:d003193.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003193.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003193.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003193.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003193.o:0000000000000000 t .text
                            libassimp.dll.a:d003193.o:0000000000000000 I __imp__ZN3irr2io23createIrrXMLReaderUTF16EP6_iobuf
                            libassimp.dll.a:d003193.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003193.o:0000000000000000 T _ZN3irr2io23createIrrXMLReaderUTF16EP6_iobuf
                            libassimp.dll.a:d003192.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003192.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003192.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003192.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003192.o:0000000000000000 t .text
                            libassimp.dll.a:d003192.o:0000000000000000 I __imp__ZN3irr2io18createIrrXMLReaderEPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003192.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003192.o:0000000000000000 T _ZN3irr2io18createIrrXMLReaderEPNS0_17IFileReadCallBackE
                            libassimp.dll.a:d003191.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003191.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003191.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003191.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003191.o:0000000000000000 t .text
                            libassimp.dll.a:d003191.o:0000000000000000 I __imp__ZN3irr2io18createIrrXMLReaderEPKc
                            libassimp.dll.a:d003191.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003191.o:0000000000000000 T _ZN3irr2io18createIrrXMLReaderEPKc
                            libassimp.dll.a:d003190.o:0000000000000000 i .idata$4
                            libassimp.dll.a:d003190.o:0000000000000000 i .idata$5
                            libassimp.dll.a:d003190.o:0000000000000000 i .idata$6
                            libassimp.dll.a:d003190.o:0000000000000000 i .idata$7
                            libassimp.dll.a:d003190.o:0000000000000000 t .text
                            libassimp.dll.a:d003190.o:0000000000000000 I __imp__ZN3irr2io18createIrrXMLReaderEP6_iobuf
                            libassimp.dll.a:d003190.o:                 U _head_libassimp_dll
                            libassimp.dll.a:d003190.o:0000000000000000 T _ZN3irr2io18createIrrXMLReaderEP6_iobuf

                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 avril 2021 à 1:44:02

                              Je ne connais pas l'outil de MinGW mais je pense qu'il y a moyen de "nettoyer" la sortie avec les bonnes options.

                              On voit les noms décorés C++ de certaines fonctions, L'éditeur de lien devrait indiquer le nom décoré de la fonction qui pose problème dans le message d'erreur, non ?

                              Le nombre de fonctions "exportées" me semble très faible.

                              Normalement le nom décoré C++ des "fonctions" "Assimp::Importer::Importer()" et "Assimp::Importer::~Importer()" devrait apparaitre dans la liste des fonction du .a, si c'est bien dans ce .a que l'éditeur de lien doit aller chercher l'implémentation de ces fonction (la documentation est ton amie).

                              -
                              Edité par bacelar 17 avril 2021 à 1:44:11

                              • Partager sur Facebook
                              • Partager sur Twitter
                              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                              Anonyme
                                17 avril 2021 à 2:06:01

                                Oui, c'est bien ce .a, mais 2 erreurs lors de la compilation Assimp avec CMake.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 avril 2021 à 11:11:52

                                  Si tu avais des erreurs, tu n'aurais pas obtenu le .dll et le .dll.a, tu as eu des warnings et ce n'est probablement pas bien grave. Ton problème actuel je suppose, c'est plutôt ce que tu as mis dans CodeBlocks pour injecter Assimp, mais si tu ne donnes pas plus d'info on peut pas t'aider.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    17 avril 2021 à 13:38:45

                                    Je n'utilise pas CodeBlocks mais Eclispe.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      17 avril 2021 à 14:08:33

                                      Ok, mais ce que je veux dire c'est qu'on sait pas comment tu link tes librairies dans le système de build de ton IDE. Moins tu donneras d'éléments sur ce que tu as fait, moins tu auras de réponse pertinente.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        17 avril 2021 à 14:30:58

                                        Ah d'accord... J'ai ajouté "libassimp.dll" et "libassimp.dll.a" dans mon dossier "bin" et "lib" de MinGW. J'ai ensuite créé un projet dans mon IDE, puis j'ai ajouté libassimp dans les linkers.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          17 avril 2021 à 14:45:53

                                          Oui mais on peut pas savoir si tu as correctement "ajouté libassimp dans les linkers" comme tu dis. Montre un screen, ou la ligne de commande invoquant le linker lorsque tu lances le build de ton projet par exemple.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            20 avril 2021 à 14:16:24

                                            Voici la capture :

                                            Linkers Assimp

                                            Et la commande du build :

                                            g++ -O2 -s -Wall -Wextra -Werror -c -o Main.o "..\\Main.cpp"
                                            g++ -o "Assimp Test.exe" Main.o -llibassimp

                                            -
                                            Edité par Anonyme 20 avril 2021 à 14:18:16

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 avril 2021 à 15:00:38

                                              Il faut mettre assimp tout court (sans le préfixe "lib") dans Libraries (-l). Et dans le doute, ajoute dans Library search path (-L) le chemin absolu du répertoire où se trouve libassimp.dll.a
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                20 avril 2021 à 18:40:55

                                                Merci 😊. Je vais tester plus tard. Je ne peux pas pour l'instant.

                                                J'ai donc testé mais toujours la même erreur...

                                                -
                                                Edité par Anonyme 21 avril 2021 à 16:32:21

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  25 avril 2021 à 16:41:28

                                                  Je me suis beaucoup renseigné sur des vidéos. J'ai trouvé une solution. J'ai généré un projet Eclipse avec l'interface graphique de CMake. J'ai ensuite ouvert ce projet avec Eclipse puis compilé Assimp. Mais j'obtiens des erreurs. Voici la console d'Eclipse affichant les erreurs :

                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x8d): undefined reference to `Assimp::Importer::ValidateFlags(unsigned int) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0xc4): undefined reference to `Assimp::Importer::ReadFile(char const*, unsigned int)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x14e): undefined reference to `Assimp::DefaultLogger::create(char const*, Assimp::Logger::LogSeverity, unsigned int, Assimp::IOSystem*)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x183): undefined reference to `Assimp::DefaultLogger::kill()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x1b8): undefined reference to `Assimp::Importer::GetErrorString() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x287): undefined reference to `Assimp::Exporter::Export(aiScene const*, char const*, char const*, unsigned int, Assimp::ExportProperties const*)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x324): undefined reference to `Assimp::Exporter::GetErrorString() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x3df): undefined reference to `Assimp::DefaultLogger::create(char const*, Assimp::Logger::LogSeverity, unsigned int, Assimp::IOSystem*)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x3f5): undefined reference to `Assimp::DefaultLogger::kill()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0xd7a): undefined reference to `Assimp::Importer::ReadFile(char const*, unsigned int)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x3b): undefined reference to `Assimp::DefaultLogger::create(char const*, Assimp::Logger::LogSeverity, unsigned int, Assimp::IOSystem*)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text+0x41): undefined reference to `Assimp::DefaultLogger::kill()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0xbb): undefined reference to `Assimp::Importer::Importer()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0xd0): undefined reference to `Assimp::Importer::SetPropertyInteger(char const*, int)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0xe4): undefined reference to `Assimp::Exporter::Exporter()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x18a): undefined reference to `Assimp::Exporter::~Exporter()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x192): undefined reference to `Assimp::Importer::~Importer()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x1d6): undefined reference to `aiGetCompileFlags'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x1eb): undefined reference to `aiGetVersionRevision'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x237): undefined reference to `aiGetVersionMinor'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x23e): undefined reference to `aiGetVersionMajor'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x2b7): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x2c9): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x338): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x355): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x3b8): undefined reference to `Assimp::Importer::GetExtensionList(aiString&) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x437): undefined reference to `Assimp::Importer::ReadFile(char const*, unsigned int)'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x47d): undefined reference to `Assimp::Importer::IsExtensionSupported(char const*) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x52d): undefined reference to `Assimp::Exporter::~Exporter()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Main.cpp.obj):Main.cpp:(.text.startup+0x535): undefined reference to `Assimp::Importer::~Importer()'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x2f1e): undefined reference to `aiGetVersionRevision'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x2f41): undefined reference to `aiGetCompileFlags'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x37c0): undefined reference to `aiGetVersionRevision'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x37c7): undefined reference to `aiGetVersionMinor'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x37ce): undefined reference to `aiGetVersionMajor'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x591e): undefined reference to `aiGetVersionRevision'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(WriteDumb.cpp.obj):WriteDumb.cpp:(.text+0x5943): undefined reference to `aiGetCompileFlags'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Info.cpp.obj):Info.cpp:(.text+0x2351): undefined reference to `Assimp::Importer::GetMemoryRequirements(aiMemoryInfo&) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Info.cpp.obj):Info.cpp:(.text+0x2781): undefined reference to `aiGetMaterialString'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Info.cpp.obj):Info.cpp:(.text+0x285d): undefined reference to `aiGetMaterialString'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x18): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x40): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x70): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x7ac): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x7d4): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0x7ff): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0xac3): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0xaf4): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0xf14): undefined reference to `Assimp::Exporter::GetExportFormatCount() const'
                                                  CMakeFiles\assimp_cmd.dir/objects.a(Export.cpp.obj):Export.cpp:(.text+0xf44): undefined reference to `Assimp::Exporter::GetExportFormatDescription(unsigned long long) const'

                                                  J'ai aussi essayé avec Code::Blocks. Même résultat.

                                                  -
                                                  Edité par Anonyme 25 avril 2021 à 16:43:44

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    26 avril 2021 à 17:10:22

                                                    Pas d'idées :( ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      26 avril 2021 à 18:37:29

                                                      C'est en compilant votre projet ou Assimp que vous avez ces erreurs ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                                        26 avril 2021 à 18:38:15

                                                        MO9845 a écrit:

                                                        Pas d'idées :( ?


                                                        Si, ce que j'ai déjà dit.

                                                        SpaceIn a écrit:

                                                        Il faut mettre assimp tout court (sans le préfixe "lib") dans Libraries (-l). Et dans le doute, ajoute dans Library search path (-L) le chemin absolu du répertoire où se trouve libassimp.dll.a


                                                        My god ce forum est une horreur pour le formatage de texte.

                                                        -
                                                        Edité par SpaceIn 26 avril 2021 à 18:39:14

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Anonyme
                                                          26 avril 2021 à 19:22:58

                                                          bacelar a écrit:

                                                          C'est en compilant votre projet ou Assimp que vous avez ces erreurs ?

                                                          J'ai sélectionné "Eclipse CDT4 - MinGW Makefiles". J'ai ensuite ouvert le projet généré par CMake dans Eclipse. Il me restait à le compiler pour avoir les .a et .dll. C'est là que j'ai les erreurs.

                                                          Donc, c'est en compilant Assimp.

                                                          Je crois que SpaceIn a mal compris. Ces erreurs ne sont pas lors de la compilation d'un programme que je fais avec Assimp, mais de celle de Assimp.

                                                          -
                                                          Edité par Anonyme 26 avril 2021 à 19:34:04

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            26 avril 2021 à 20:00:43

                                                            Les premières erreurs sont dans un "Main.cpp", ce qui est très étrange pour une librairie (qu'elle soit dynamique ou statique).

                                                            "assimp_cmd.dir" dans le chemin, c'est assez bizarre ?

                                                            Serait-se un utilitaire de nom "assimp_cmd" ???

                                                            Si c'est le cas, cela doit être un utilitaire en ligne de commande qui utilise soit le code source de la librairie soit la librairie elle-même (statiquement ou dynamiquement) pour faire son "job" ?

                                                            En tout cas, il y a de grosses chances, si c'est bien un programme qui n'utilise pas directement le code source de la librairie, qu'il doive être créé après la construction de la librairie en tant que tel.

                                                            Il doit avoir des problèmes de configuration dans le projet CMake au niveau des dépendances entre projet.

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                                                            Anonyme
                                                              26 avril 2021 à 20:23:28

                                                              Je me suis aidé de ce site : https://stackoverflow.com/questions/58560485/cannot-build-assimp-with-mingw64.

                                                              J'ai ajouté dans CMake les options écrites dans la première réponse et ça a fonctionné. Il ne me reste plus qu'à tester sur un nouveau projet.

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Problème Assimp

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown