Assimp模型加载库下载、编译、配置全过程

最近学完图形学基础后在老师的推荐下去看GitHub上的learnOpenGL教程,讲的挺好的,因为总用自己设置的那些顶点画不出来什么有意思的东西,所以需要从外部导入模型,教程中用的就是Assimp模型加载库。

Assimp是Open Asset Import Library(开放的资产导入库)的缩写。Assimp能够导入很多种不同的模型文件格式(并也能够导出部分的格式),它会将所有的模型数据加载至Assimp的通用数据结构中。当Assimp加载完模型之后,我们就能够从Assimp的数据结构中提取我们所需的所有数据了。由于Assimp的数据结构保持不变,不论导入的是什么种类的文件格式,它都能够将我们从这些不同的文件格式中抽象出来,用同一种方式访问我们需要的数据。

下面我将给出Assimp模型加载库下载、编译、配置全过程并在最后导入一个模型:
在这里插入图片描述

1.下载Assimp:

教程中给出的下载地址http://assimp.org/main_downloads.html无法访问,在GitHub上找到了资源:https://github.com/assimp/assimp/releases,点击红框中的内容即可下载。
在这里插入图片描述
为什么不直接下载第二个编译好的压缩包呢,因为它们的预编译库在大部分系统上都是不能运行的(仅有vc++2005和vc++2008),而我用的是2010,所以要自己编译。下载完解压即可。

然而,我下这个总是下到一半就网络错误,所以我在其他地方找到了教程用的3.1.1版本:
网盘:https://pan.baidu.com/s/1M_6sS-5u-XoX9_UIIwdqPg 提取码:lg0p。
他这里面还有vs2015编译好的lib、dll文件。vs2015可直接按照最后一步进行配置和链接即可。
(还有一个3.3.1版本的:https://github.com/assimp/assimp/releases/tag/v3.3.1/)

其实这个低版本也可以用,不要那么追求版本,我用的是3.1.1的,我把vs2010编译好的文件传到了我的百度网盘(由于上传文件数量大于500要超级会员,所以我只上传了编译好的lib、dll文件):
链接:https://pan.baidu.com/s/1kkhcZLtnYEzcjYfX7AWN2w 提取码:1kmk。
如果你也使用的是vs2010那么可以直接用我的编译结果,跳到最后一步进行配置和链接即可。不是的话就把build文件夹中的内容删除,按步骤执行下面的内容。

2.编译之前的准备工作:

下载DirectX:官网下载

如果不安装DirectX就会在生成链接库时报错:
在这里插入图片描述
安装DirectX SDK时,可能遇到一个错误码为s1023的错误。这种情况下,请在安装SDK之前先卸载C++ Redistributable package(s):在下图红框中的这两个,右键卸载即可。
在这里插入图片描述
安装DirectX很简单,点击下载好的程序按步骤安装即可。。。。。。

3.下载安装CMake并用其生成链接库:

既然要自己编译就要用到CMake:
CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。

(1)CMake下载:

官网下载:https://cmake.org/,点下图中的download
在这里插入图片描述
下载版本无所谓,都能使用,我安装glfw时下载的是下图这个32位版本
在这里插入图片描述

(2)安装:

下载好就是一个安装文件,双击安装,除了下面这一步,安装的过程一直默认(安装路径找一个自己能找到的地方。。。。。。)直到安装完成。
在这里插入图片描述

(3)启动 CMake 生成链接库

在CMake安装目录的bin文件夹下双击cmake-gui.exe启动CMake:
在这里插入图片描述
打开后是这样的:
在这里插入图片描述
第一行是源代码的位置,第二行是用来存放生成文件的位置。
第一行:源代码目录我们选择 Assimp 的源代码的根目录,然后我们在根目录下新建一个 build 文件夹,选中作为目标目录(第二行)。如图:
在这里插入图片描述
在这里插入图片描述
其他都不动,点Configure(设置):
在这里插入图片描述
然后会让我们选择工程的生成器,我用的vs2010,所以是选2010,其余默认。
在这里插入图片描述
之后等待设置完成后:再次点击Configure(设置)
完成后再点generate:这样
在这里插入图片描述

现在再看我们自己建的build文件夹:
在这里插入图片描述
点击完Generate之后,就生成了.sln文件等,Open Preject就不再是灰色,然后我们可以直接点击Open Project在vs中自动打开项目。在这里插入图片描述
然而我点击了Open Project并没有自动打开,所以我在build文件夹中点击.sln文件打开。
在这里插入图片描述
打开后Release即可。
在这里插入图片描述

生成成功后在你的build文件的code文件夹下会有Release文件夹,里面有.dll文件与.lib文件:
在这里插入图片描述

3.最终的配置和链接

终于弄完了,最后只需要配置和链接

  • 把上面文件夹中的lib文件拷贝到vs安装目录的lib文件夹下,并在解决方案中链接它(在链接器的输入中的附加依赖项中输入assimp.lib)。
  • 并且记得把Assimp的头文件也复制到你的include目录中(头文件可以在从Assimp中的include目录里找到)。
  • 还有把dll文件放到C:\Windows\System32和C:\Windows\SysWOW64中即可。

到此,一切配置工作都完成了,至于开头那个模型,这里写的太多了,我在另一篇文章中https://blog.csdn.net/derbi123123/article/details/105787833写了具体细节并给出了代码。

  • 21
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: DPDK (Data Plane Development Kit) 是一个开源的数据平面开发工具包。它可以提供高性能的网络 I/O 接口,允许开发人员在用户空间中运行网络应用程序。 igb_uio 是 DPDK 提供的一种用于 Intel 82580/I350 以太网控制器的用户空间驱动程序。要使用 igb_uio 驱动,需要进行以下步骤: 1. 下载 DPDK 并解压缩。 2. 运行 "make config T=x86_64-native-linuxapp-gcc" 来配置 DPDK。 3. 在 .config 文件中找到并启用 "CONFIG_RTE_LIBRTE_IGB_UIO=y" 选项。 4. 运行 "make" 来编译 DPDK。 5. 运行 "make install" 来安装 DPDK。 6. 加载 igb_uio 驱动,运行 "modprobe uio" 和 "insmod build/kmod/igb_uio.ko"。 7. 将网卡绑定到 igb_uio 驱动上,运行 "./usertools/dpdk-devbind.py --bind=igb_uio 网卡名" 在完成这些步骤后,就可以在 DPDK 中使用 igb_uio 驱动了。 注意: - 上面的步骤基于linux系统,在其他系统上安装配置步骤可能有所不同 - 具体操作请参考DPDK官网,这里给出大致流程,需要结合具体DPDK版本参考 ### 回答2: 在DPDK中使用igb_uio驱动需要进行以下步骤: 1. 下载DPDK源代码:首先需要到DPDK官网(https://www.dpdk.org/)下载最新的DPDK源代码。 2. 解压源代码:将下载好的源代码文件解压到一个合适的目录下。 3. 配置编译环境:进入解压后的DPDK源代码目录,在终端中执行命令“make config T=x86_64-native-linuxapp-gcc”配置编译环境。其中,T参数根据自己的处理器架构进行选择,x86_64代表64位。 4. 编译DPDK:继续在终端中执行命令“make”编译DPDK。这一步需要耐心等待编译完成。 5. 设置环境变量:在终端中执行命令“export RTE_SDK=/path/to/dpdk”和“export RTE_TARGET=x86_64-native-linuxapp-gcc”分别设置DPDK的根目录和目标平台。 6. 下载igb_uio驱动:在终端中执行命令“make install T=x86_64-native-linuxapp-gcc”下载igb_uio驱动。这一步会自动从DPDK的软件仓下载igb_uio驱动,并将其安装到系统中。 7. 配置驱动:在终端中执行命令“modprobe uio”加载uio驱动,然后执行命令“insmod /path/to/dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko”加载igb_uio驱动。 8. 绑定网卡:执行命令“dpdk-devbind --bind=igb_uio ethX”将指定的网卡绑定到igb_uio驱动。 至此,igb_uio驱动就成功下载编译配置完毕。现在可以在DPDK中使用igb_uio驱动来进行高性能网络应用开发了。 ### 回答3: DPDK(Data Plane Development Kit)是一种用于快速数据包处理的开源工具集。在DPDK中,igb_uio是一种用户态的UIO(Userspace Input/Output)驱动,用于将网卡设备映射到用户态进程,实现零拷贝和更高的性能。 要下载编译配置igb_uio驱动,可以按照以下步骤进行: 1. 首先,确保系统安装了必要的构建工具和依赖项。例如,gcc、make、kernel-headers等。如果缺少相关软件包,可以使用包管理器进行安装。 2. 接下来,下载DPDK源代码。可以从DPDK官方网站(https://www.dpdk.org/)或者DPDK的GitHub仓中获取最新的源代码。 3. 解压源代码包,并进入解压后的目录。 4. 在终端中,执行以下命令编译DPDK和igb_uio驱动: ``` make config T=x86_64-native-linuxapp-gcc make ``` 这将根据系统架构编译DPDK和igb_uio驱动的二进制文件。 5. 编译完成后,可以使用以下命令将igb_uio驱动安装到系统中: ``` sudo make install T=x86_64-native-linuxapp-gcc ``` 此命令将igb_uio.ko模块复制到适当的系统目录中。 6. 配置igb_uio驱动,使其可以加载并与网卡设备关联。需要编辑DPDK的配置文件(config文件),将CONFIG_RTE_EAL_IGB_UIO=y设置为解除注释,并保存更改。 7. 加载igb_uio驱动模块,可以使用以下命令: ``` sudo modprobe igb_uio ``` 如果成功加载,可以通过执行以下命令检查igb_uio模块是否成功绑定到网卡设备: ``` sudo ./dpdk-devbind.py --status ``` 此命令将显示网卡设备及其绑定状态。 通过按照以上步骤进行,可以成功下载编译配置DPDK下的igb_uio驱动。完成后,可以在DPDK应用程序中使用igb_uio驱动来进行高性能的数据包处理。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值