2017-08-28 173 views
2

私のプロジェクトで使用するAssimpをインストールしようとしていますが、何か問題があります。私は現在、私はAssimp /ビルドに生成され、その後、Assimpの4.0.1.zipをダウンロードしたディレクトリにそれを抽出し、cmakeGuiをロードし、二度の設定を走ってきた10のプロとVisual Studioを獲得15 2017年Assimpモデルの読み込みライブラリのインストール/リンクのトラブル

  1. を使用していますディレクトリ。

  2. 次へ私はAssimp/buildに行って、Assimp.slnを実行して、ALL_BUILDを選択しました。次に、.libと.dllの横にある/ code/debugのすべてのファイルをコピーし、それらをすべて、私のexeがビルドされているプロジェクトのDebugディレクトリに移動しました。私は.libを自分のopengl/libsディレクトリにコピーし、元々抽出されたダウンロードの/ includeのすべてのヘッダを自分のopengl/includes/assimpディレクトリにコピーしました。私はプロジェクトをビルドしようとしたとき

  3. 最後に、私はそれはそれはできないと述べ

assimp.libとassimp.dll(この記事を簡単にするために別名)を含むように私のプロジェクトのリンカの設定を調整します


それは安全です:dllファイルを開いて、試したとき、私はmain.cppに並んで、プロジェクトのディレクトリにDLLをコピーして、私の他のファイルと再び走った、それが今回は「は0x378で読み取ることができない無効または破損したファイル」と述べました言いたいことは、コンパイル、リンク、cmで勉強する必要があるということですakeしかし、今私は始めた。

プロジェクトにヘッダーを含めるときに不平を言うのをやめさせた後、私はそれが働いていたと思います。これを行うには、以前と同じように新しく構築されたAssimpを起動し、dllを含むすべてのファイルをlibsディレクトリに移動し、すべてのインクルードファイルをダウンロードしてincludeにダンプし、config.hをビルドからこのディレクトリに移動します。次に、プロジェクトのリンカ設定を行い、何もプロジェクトディレクトリに移動しませんでした。

その後、それは私が従っていたチュートリアルシリーズに進んだので、不平を言った。私はコンパイルし、エラーのロードを得て、0にそれらを修正して、突然私は彼らの代わりに8つの新しいものを得ました。 ":unsigned int型__thiscall aiMaterial :: GetTextureCount(列挙aiTextureType)constは公共"(GetTextureCount @ aiMaterial @@ QBEIW4aiTextureType @@@ Z?関数の中で参照さ

重大度コード説明プロジェクトファイルの行の抑制状態 エラーLNK2019未解決の外部シンボル_aiGetMaterialTextureCount )opengl_model_loading F:\ Desktop \ MyDocuments \ Tuts \ opengl \始動\ opengl_model_loading \ opengl_model_loading \ main.obj 1

このエラーは、おそらくdllに起因すると感じていました。 お知らせください。

答えて

1

私はちょうど最近これをやったことがあります&は、v401 &で多くの問題を抱えていると言いますが、エラーやリンクの問題が発生しています。正常に私の次のことに取り組んでいます。

注:ASSIMPには依存性があります。githubのから

  1. ダウンロード/クローン・マスター・アセット・輸入-Libの: https://github.com/assimp/assimp
  2. オープンcmakeのGUI &一度開いた:「.. \マイドキュメント\ assimp:

    • ソースコードがあります\ assimp-master "
    • バイナリをビルドする場所は" .. \ MyDocuments \ assimp \ assimp-master \ build "です。ビルドフォルダ&を作成する必要があります。

    2.1。あなたは、コマンドラインオプションに精通している代わりとします。

    • cmakeのの-G」のVisual Studio 14のWin64"
  3. [Configure]をクリックしを使用して、関連するパスを持つプロジェクトファイルを生成
  4. を次に生成していることを確認します。あなたは
  5. 。Visual Studioに "\ Assimp.slnを構築\ assimpマスター.. \マイドキュメント\ assimp \" ロード
  6. 。正しいビルドオプションすなわちVS15 2017 64ビットを選択する権利 "ALL_BUILD" をクリックし& "のビルド" を選択します。ティsには数分かかります。一度&エラーをしない、それは .. \マイドキュメント\ assimp \ assimpマスター\ビルド\コードに必要な* .dllファイル/ *。libが作成する必要があります\デバッグ
  7. リンク&は、既存のプロジェクトに関連する* .LIBを含めます& ".. \ MyDocuments \ assimp \ assimp-master \ include \ assimp"フォルダ。 * .dllファイルが実行中の* exeファイルと同じフォルダにあるか、インクルードされていることを確認する必要があります。
  8. ます。また.. \マイドキュメント\ assimp \ assimpマスター\ビルド\から上書きコピーする必要があるかもしれません\ assimp \ config.hのを含める」&はSTEP7に含める。

ちょうどあなたがしていることを確認それ以外の場合は、まだ問題が発生する可能性があり、あなたのコードなど、すなわち32/64 /デバッグ/リリース/ユニコード/のための右のライブラリを構築する。

映像に続いて、視覚的に傾斜するのに便利です。 https://youtu.be/W_Ey_YPUjMk

この情報がお役に立てば幸いです。

あなたが不要の.dllすなわち静的ライブラリバージョン場合: 上記の手順から:

5.1を

EDIT。関連するプロジェクト構成タイプ&の拡張子を.dllから.libタイプに変更してください(2:assimp & zlib)。

5.2。 "UpdateAssimpLibsDebugSymbolsAndDLLs" - > Properties-> Build Eventsを右クリックしてください。&は、コマンドラインセクションのパスを.. \ Path * .dllから.. \ Path * .libに更新します。 (エラーが発生した場合は、assimp_cmdプロジェクトでも同じことを行います)。

  1. 上記と同じですが、プロジェクトもIrrXML.lib & zlibd.libにリンクする必要があります。 * .dllファイルは必要ありません。
+0

これはうまくいってくれてうれしいと思いますが、私は少し前にそれを稼働させて、これを更新するのを忘れてしまいました。私はすべてのものを新しくインストールし、プラットフォームが適切であることを確認し、基本的に同じ質問をして、すべて正しくリンクし、.exeを.exeファイルの横に入れてください。 – eternalNoob

+0

場合によっては新たに開始することが役立ちます。ちょうど静的なライブラリのバージョンが動作しています。つまり、.dllは必要ありません。ポストを詳細で更新します。 – ReturnVoid

関連する問題