2024版Assimp配置教程

news2024/9/20 16:35:34

最近想看看图形学,选择速通LearnOpenGL,不出意外最耗时间的依然是配置环境。按照教程上的把GLFW等等配置的没有问题,但是在Assimp这里卡住了。原因是教程上说的不详细,而网上查的又和现在的版本相去甚远,导致捣鼓了好一段时间才搞定。

环境:

  • VS 2022

第一步:Github下载Assimp

直接打开github上的assimp并且下载压缩包:GitHub - assimp/assimp: The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

解压出来大致长这样:

第二步:使用Cmake编译

下载cmake,在bin文件夹内打开cmake-gui.exe,打开的页面如下:

第一行选择assimp所在的文件夹,第三行选择编译完的文件放在哪个文件夹(你可以像我一样放在同目录的build文件夹内),然后按左下角configure,一串变红的变量,不要做更改再点一下configure,所有变量变成白色,随后点generate,就可以在文件夹内看到编译好的文件。

这里可能会出现缺少DirectX的报错,建议提前搜索下载DirectXSDK并配置好环境变量,这样就不会出现报错。

第三步:VS内生成

在cmake显示编译成功后,你可以点generate右边的open project直接用vs打开。如果没有反应的话,找到编译文件所在文件夹打开sln解决方案,如下图:

打开名为Assimp.sln即可。

打开之后在上面的菜单找到生成-生成解决方案,然后伴随着漫长的等待,生成终于是结束了。我这里显示3成功,实际上和数量没关系。只要ALL_BUILD生成成功就行。

第四步:找到你需要的文件

这一步是比较麻烦的一步,以前的Assimp会直接把所有文件都放在include和code文件夹里面,但现在不一样了,导致找了半天。

先找到我们最需要的.dll和.lib文件:

.dll文件在\bin\release文件夹内。如果你生成用的是VS的debug模式,那就在\bin\debug文件夹内。

.lib文件在\lib\release文件夹内:

然后找include文件夹,其中绝大部分在原来解压出来的include文件夹内,直接复制就行:

但是只用原来解压的include文件夹是不够的,还要加上编译完的文件夹内的include文件夹才行,里面有两个非常重要的头文件:

OK,以上就是Assimp需要的所有文件了。如果还有别的问题,欢迎在评论区指出。谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2087219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础1-基本指令6(grep,zip,tar,查看系统等命令)

一.本章重点 1.grep命令用于过滤文本信息,sort,uniq 2.zip/uzip命令用于压缩,解压文件 3.tar命令用于压缩,解压文件 二.grep grep命令 gerp(文件内容的行过滤工具),默认会,会匹配文本中的关键字,匹配上的进行行显示 …

全民k歌怎么去水印保存?盘点分享3个无水印保存方法

在全民K歌的世界里,我们尽情展现音乐才华,但有时却会遇到一个棘手的问题:如何将歌曲视频无水印保存,以便自由分享到其他社交平台?为了解决这一难题,本文将为你盘点三种简单有效的无水印保存方法&#xff0c…

Python课堂笔记

1.大小写 大写:True、 None、 False 注意:大小写含义不相同 2.一行多个短句 短句:“ ;” 长句:“ \” 3.变量 (1) int A[100] 整型 char B[100] 字符型 (2)type: 查看变量类型 补充&…

Language Models are Unsupervised Multitask Learners

摘要 自然语言处理任务,如问答、机器翻译、阅读理解和摘要,通常在任务特定的数据集上使用监督学习来处理。当在一个名为WebText的数百万网页的新数据集上训练时,我们证明了语言模型在没有任何明确监督的情况下开始学习这些任务。在不使用127,000多个训练…

【BPF之旅】认识eBPF

文章目录 一、eBPF基础认识1.1 eBPF历史演进1.2 eBPF特点和使用场景eBPF的特点(优势)eBPF的限制(安全性的体现)eBPF vs 内核模块应用场景 1.3 eBPF工作原理eBPF程序执行过程eBPF的开销 二、eBPF简单实践(Hello World&a…

大数据技术

4v特点 volume(体量大) velocity(处理速度快) variety(数据类型多) value(价值密度低) 核心设计理念 并行化 规模经济 虚拟化 分布式系统满足需求 系统架构 大数据处理流程 结构化…

如何在QT6上配置文心一言的接口,从而生成一个自己的对话框

这里写自定义目录标题 前言:效果展示:环境配置:计划完善:核心代码: 前言: 网上有很多在前端调用文心一言接口的,想在QT上配置文心一言的接口,从而生成一个自己的对话框。 效果展示…

Sentinel-1 Level 1数据处理的详细算法定义(九)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

JavaScript学习文档(10):日期对象、节点操作、 M端事件、JS插件、学生信息表案例

目录 一、日期对象 1、实例化 2、时间对象方法 3、时间戳 (1)时间戳 (2)获取时间戳的三种方式: (3)倒计时效果 二、节点操作 1、DOM 节点 2、 查找节点 3、增加节点 (1&…

windows11 上安装了python的wxpython模块,vscode运行时还是报错的解决方法

遇到问题:windows11 上明明安装了python的wxpython模块,vscode运行时还是报错“Traceback (most recent call last): File “c:\pythoncode\new\tonguedetect.py”, line 1, in import wx ModuleNotFoundError: No module named ‘wx’” 如何解决&…

uniapp uni-popup底部弹框留白 底部颜色修改 滚动穿刺

做底部弹框的时候,可能出现以下场景需要处理。 一、出现底部留白不是白色,需要修改颜色的时候: 1、如果弹框不需要圆角效果,则在uni-popup加上背景色就行,弹框是个直角样式: 2、如果需要圆角效果&#xff0…

芒格-“用幸存者心态去对待问题,永远不要有受害者心态”

我不会因为人性而感到意外,也不会花太多时间感受背叛, 我总是低下头去调整自己,去适应这一类事情, 所以我不允许自己花太多时间,去感受背叛, 但凡有一丁点这种想法,从我脑海闪过,我就…

Ubuntu 18.04升级gclibc为2.28版本

一、查看系统支持的 GLIBC 版本号 ​strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_出现以下,说明到2.27版本,没有2.28版本,所以我们需要手动安装 GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_…

Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明]

Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明] 1、下载MySQL安装包2、卸载MySQL(1)检查是否安装过MySQL和mariadb(2)卸载MySQL和mariadb(3)问题记录(了解) 3、安装MySQL…

MacOS通过Docker部署MySQL数据库,以及Docker Desktop进行管理

目录 一.不需要持久化存储 1.启动容器 2.查看容器和镜像 3.容器管理 二.持久化存储启动mysql容器 1.创建docker卷 2.运行容器,指定卷 3.在mysql里面随便建个库,建张表,弄点数据 4.停止并删除MySQL容器 5.重新运行容器,并且挂载相同的卷,也就是上面第二步的命令 6.连…

【412】【统计近似相等数对 II】

差130个样例,等佬解 class Solution:def ifqual(self,str1,str2):return int(str1)int(str2)def change(self,str1,str2):str1 list(str1)nlen(str1)t0for i in range(n):for j in range(i1,n):str1[i],str1[j]str1[j],str1[i]t1if self.ifqual("".join…

k8s-使用Network Policies实现网络隔离

一、需求 Kubernetes 的命名空间主要用于组织和隔离资源,但默认情况下,不同命名空间中的 Pod 之间是可以相互通信的。为了实现更严格的网络隔离,同一套k8s需要根据不同的命名空间进行网络环境隔离,例如开发(dev01&…

Plik文件上传系统本地docker部署与远程访问传输文件详细操作流程

文章目录 前言1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 前言 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设…

blender4.2中安装插件的方式

1,安装好blender之后,打开软件,找到 编辑,---> 偏好设置, 插件---> 从磁盘安装...., 找到插件.zip格式的文件, 选择 .zip格式的文件后,点击“从磁盘安装”按钮,即可

【linux003】目录操作命令篇 - cd 命令

文章目录 1、基本用法2、常见选项3、举例4、注意事项 cd 命令在 Linux 中用于更改当前工作目录。它是“change directory”的缩写。 cd 命令本身比较简单,不具有复杂的选项和参数,但它提供了一些有用的功能。 1、基本用法 cd [目录]2、常见选项 ~&…