2017-08-28 4 views
2

J'essaie d'installer Assimp pour mes projets, mais j'ai des problèmes. Je suis actuellement à l'aide gagner 10 studio pro et visuel 15 2017.Problèmes d'installation/de liaison de la bibliothèque de chargement du modèle Assimp

  1. J'ai téléchargé Assimp 4.0.1.zip, extrait dans un répertoire, chargé cmakeGui et a couru configuration deux fois, puis généré dans Assimp/build annuaire. Ensuite, je suis allé dans Assimp/build et j'ai couru le Assimp.sln et j'ai choisi le ALL_BUILD je crois que c'était. J'ai ensuite copié tous les fichiers dans le/code/debug qui se trouvaient à côté de .lib et .dll et les ai tous déplacés dans le répertoire Debug de mon projet où mon exe est construit. J'ai copié le .lib dans mon répertoire opengl/libs et tous les en-têtes dans/include du téléchargement extrait à l'origine dans mon répertoire opengl/includes/assimp.

  2. Enfin, j'ai ajusté mes projets paramètres de l'éditeur de liens pour inclure le assimp.lib et assimp.dll (alias pour la simplicité de ce post)

Quand j'ai essayé de construire le projet, il a dit qu'il ne pouvait pas ouvrir la dll et lors de l'expérimentation que je copié le dll dans le projet dir à côté main.cpp et mes autres fichiers et a couru à nouveau, cette fois-dit « fichier non valide ou endommagé: ne peut pas lire à 0x378 »


il est sûr dire que je dois étudier la compilation, la liaison et cm mais pour l'instant j'ai recommencé.

Je pensais que je l'avais travaillé (et peut-être que je l'ai fait ...) après que je l'ai eu pour arrêter de me plaindre quand j'ai inclus les en-têtes dans mon projet. Pour ce faire, j'ai démarré à partir de Assimp, comme précédemment, j'ai déplacé tous les fichiers avec la DLL dans mon répertoire libs, j'ai transféré tous les inclusions du téléchargement dans mes includes, déplacez aussi le config.h de la compilation dans ce répertoire. Ensuite, j'ai mis les paramètres de l'éditeur de liens dans le projet et n'ai rien déplacé dans mes répertoires de projet. Après cela, il a cessé de se plaindre et j'ai continué avec la série de tutoriels que je suivais. J'ai compilé, j'ai eu un tas d'erreurs, je les ai corrigées à 0 puis tout à coup, j'ai eu 8 nouvelles à leur place.

gravité Code Description du projet État Suppression de la ligne Fichier Erreur LNK2019 non résolue symbole externe _aiGetMaterialTextureCount référencé dans la fonction? "Public: unsigned int __thiscall aiMaterial :: GetTextureCount (ENUM aiTextureType) const" (GetTextureCount @ aiMaterial @@ QBEIW4aiTextureType @@@ Z opengl_model_loading F: \ Desktop \ MyDocuments \ Tuts \ opengl \ démarrage \ opengl_model_loading \ opengl_model_loading \ main.obj 1

Cette erreur m'a donné l'impression que c'était probablement dû à la DLL. S'il vous plaît aviser.

Répondre

1

Je viens de le faire moi-même & va dire beaucoup de problèmes avec v401 & obtenir des erreurs ou des problèmes de liaison. J'ai réussi à travailler avec le suivant;

Remarque: ASSIMP a un boost en tant que dépendance.

  1. Télécharger/maître clone Asset-importateur-Lib de github: https://github.com/assimp/assimp
  2. Ouvrir Cmake GUI & une fois ouvert:

    • Où se trouve le code source: » .. \ Mes documents \ assimp \ assimp-master "
    • Où créer les binaires:" .. \ MyDocuments \ assimp \ assimp-master \ build ". Vous devrez créer un dossier de construction & point Cmake it.

    2.1. Alternativement, si vous êtes familier avec l'option de ligne de commande:. Générer des fichiers de projet avec des chemins pertinents à l'aide

    • CMake -G » Visual Studio 14 Win64"
  3. Cliquez sur Configurer
  4. ensuite Générer Assurez-vous.
  5. charge vous sélectionnez l'option de construction correcte c.-à-VS15 2017 64bit. ".. \ Mes documents \ assimp \ assimp maître \ build \ Assimp.sln" avec Visual studio.
  6. Faites un clic droit "ALL_BUILD" & sélectionnez "build". Thi s prendra plusieurs minutes. Une fois fait & aucune erreur, il devrait créer nécessaire * .dll/*. Lib dans .. \ Mes documents \ assimp \ assimp maître \ build code \ \ Debug
  7. Lien & incluent dans votre projet existant de la pertinente * .lib & également ".. \ MyDocuments \ assimp \ assimp-master \ include \ assimp" dossier. Vous devrez également vous assurer que le fichier * .dll se trouve dans le même dossier, ou inclus, que le fichier * exe que vous utilisez.
  8. Vous devrez peut-être copier du .. \ Mes documents \ assimp \ assimp maître \ \ build include \ assimp \ config.h » & inclure dans step7.

Juste assurez-vous la construction de bibliothèques pour votre Code soit 32/64bit/debug/release/unicode/etc, peuvent par ailleurs rencontrer des problèmes encore.

Après la vidéo est utile pour les malvoyants incliné. https://youtu.be/W_Ey_YPUjMk

Hope this helps.

EDIT: Si vous voulez la version de bibliothèque statique c.-à-pas .DLL requis: des étapes ci-dessus:

5.1. Remplacez le type de configuration de projet pertinent & par l'extension .dll par le type .lib (doit être deux: assimp & zlib).

5.2. Faites un clic droit "UpdateAssimpLibsDebugSymbolsAndDLLs" -> Propriétés-> Build Events & mettre à jour les chemins dans les sections de ligne de commande de .. \ Path * .dll à .. \ Path * .lib. (Si vous rencontrez des erreurs, faites la même chose sur le projet assimp_cmd).

  1. Comme ci-dessus, mais vous devez également lier votre projet à IrrXML.lib & zlibd.lib. Ne devrait plus avoir besoin du fichier * .dll.
+0

Je suis content que vous ayez travaillé aussi, j'ai réussi à le faire fonctionner il y a un certain temps et j'ai oublié de venir mettre à jour ceci. J'ai fait une nouvelle installation de tout et fait en sorte que la plate-forme était appropriée, suivi fondamentalement les mêmes étapes que dans ma question et assurez-vous de lier tout correctement et mettre le fichier .dll à côté de la construction .exe de mon projet. – eternalNoob

+0

Oui, parfois en commençant à nouveau aide. J'ai juste la version statique de la bibliothèque qui fonctionne maintenant, c'est-à-dire pas de fichier .dll requis. Mettra à jour poste avec des détails. – ReturnVoid