Assimpダミーをコンパイルします

コンパイル処理をassimpとOpenGLコンパイラー環境を構築するGLFW時間は、読むことをお勧めします、基本的に同じである構築するための環境を

ダウンロードソース

ここで使用されるバージョン3.3.1で、Githubにはassimpダウンロードソース

あなたは完全に解凍を取得します

次は、ソースコードをコンパイルしたいです

なぜ、自分のマシン上でコンパイルする必要がありますか?ライブラリが生成されたライブラリは、オペレーティングシステムやCPUと互換性があることを確認するために、ソースコードからコンパイルすることができ、およびコンパイル済みのバイナリ互換性の問題が発生する可能性があります(そして時にはお使いのシステムのドキュメントをサポートしていませんでした)ので、

しかし、ソースコードを提供する問題は、誰もいくつかのIDEとの互換性がないかもしれないので、プロジェクト/ソリューションファイルのソースコードを提供し、同じIDE開発プロセスを使用していない生成された、唯一の.c / .cppファイルと.hのから人々/自分のプロジェクト/ソリューションを作成するために.HPPファイルには、これはまた、そのためにCMakeと呼ばれるツールの誕生退屈な仕事ですが、

CMakeの

cmakeのは、プロジェクトファイル生成ツールであるhttp://www.cmake.org/cmake/resources/software.html

我々は、(Visual Studioの、コード::ブロック、Eclipseなど)お好みに応じて異なるIDEのプロジェクトファイルを生成し、事前に定義されたCMakeのスクリプトを使用することができます。このツールは、私たちは、彼らが正常にコンパイルすることができますGLFWソースからのVisual Studio 2017のプロジェクトファイルを作成できるようにすることができます

CMakeのは、必要なソースディレクトリおよびターゲット・ファイル・ディレクトリの結果をコンパイルするストレージを、我々はソースコードをダウンロードすることを選択し、その後、私たちは直接assimpの下で新しいものを作成し、ソースコードのディレクトリassimpのルートディレクトリビルド先のディレクトリとしてフォルダ

在设置完目录之后,点击Configure(设置)按钮,让CMake读取设置和源代码。我们接下来需要选择工程的生成器,这里我选择 Visual Studio 2017 (根据自己的IDE版本设定)CMake会显示可选的编译选项用来配置最终生成的库

这里我们使用默认设置,并再次点击Configure(设置)按钮保存设置,保存之后,点击Generate(生成)按钮,生成的工程文件会在你的build文件夹中,生成完之后我们就可以点Open Project,用你的IDE打开

注意,CMake在读取配置列表时,可能会报出DirectX库丢失的错误,报错如下:

Could not locate DirectX
CMake Error at cmake-modules/FindPkgMacros.cmake:110 (message):
Required library DirectX not found! Install the library (including dev packages) 
and try again. If the library is already installed, set the missing variables 
manually in cmake.

这个问题的解决方案是安装DirectX SDK

安装DirectX SDK时,可能遇到一个错误码为s1023的错误,这种情况下,请在安装SDK之前根据这个先卸载C++ Redistributable package(s)

编译

在因为CMake已经配置好了项目,所以我们直接点击 Build Solution(生成解决方案) 按钮

img

导入工程

接下来你需要让IDE知道库和头文件的位置,这里有两种方法:

  1. 找到IDE或者编译器的/lib/include文件夹,添加GLFW的include文件夹里的文件到IDE的/include文件夹里去。用类似的方法,将glfw3.lib添加到/lib文件夹里去。虽然这样能工作,但这不是推荐的方式,因为这样会让你很难去管理库和include文件,而且重新安装IDE或编译器可能会导致这些文件丢失
  2. 建立一个新的目录包含所有的第三方库文件和头文件,并且在你的IDE或编译器中指定这些文件夹,再OpenGL的项目中,我使用一个单独的文件夹,里面包含LibsInclude文件夹,在这里存放OpenGL工程用到的所有第三方库和头文件,这样我的所有第三方库都在同一个位置(并且可以共享至多台设备),当然,这要求你每次新建一个工程时都需要告诉IDE/编译器在哪能找到这些目录

和glfw的导入一样,这里推荐第二种方法,接下来我们先把生成的库文件和头文件导入工程,并且告诉IDE/编译器在哪能找到他们的目录

库文件

我们打开build目录,生成的库文件就在 build\code\Debug 路径下,我们需要的是下面这两个文件

将他们复制到你要用到assimp的工程目录下的库目录,这里我放到了OpenGL学习项目下的,glfw3.lib所在的文件夹里,路径为 FirstOpenGL\Libraries\Lib,这样我就不必重新设定库目录

头文件

assimp用到的头文件在我们build文件夹的同级目录include下,路径为assimp-3.3.1\include\assimp,我这里直接将assimp文件夹复制到我工程的Include目录

接下来我们打开工程属性,再配置一番

设置引用目录和库目录,由于我放的就是之前使用的目录,这里不必更改

1566125643669

连接器部分则需要把assimp加上

尝试include我们导入的头文件

没有报错,OK大功告成

おすすめ

転載: www.cnblogs.com/zhxmdefj/p/11373621.html