在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp
到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧。这次将要解说怎样在Windows下使用MinGW静态编译Assimp。
Assimp是眼下比較全的3D格式解析库了,熟悉3D游戏开发的同行都知道,3D的格式非常混乱,各种3D格式在不同场合都有他们特定的应用,游戏引擎仅仅可以解析少部分3D格式,很多其它有用的格式来自游戏公司自己定义的格式。而在开源领域,Assimp算是比較全的3D格式导入库了。它对3D格式理解深入,非常适合整合至3D图形引擎中,让你们的程序支持很多其它3D的格式。
要静态编译Assimp,首先须要准备Assimp的源代码、cmake和MinGW。MinGW我选用的是Qt自带的库,大家能够自己选择合适的MinGW或是TDM-MinGW。这里我将Assimp的源代码和cmake分享一下,以便自己日后查阅。
Assimp下载地址:这里(提取码:60c5)
Cmake的下载地址:这里(提取码:46ac)
下载Assimp后,解压之,放在合适的位置,我这里放在E:/Develop中。
同一时候下载cmake后,解压之,放在合适的位置。我这里放在E:/Develop中。
然后cmd进入命令行,我们主要在命令行进行编译。
1、首先环境变量设置,我这里是这么设置的:
set path=%path%;E:/Develop/cmake-2.8.12.1-win32-x86/bin;E:/Develop/Qt5.3/Tools/mingw482_32/bin
2、然后到assimp库的根文件夹下
cd $${Assimp文件夹}
3、使用cmake进行构建
cmake -G "MinGW Makefiles" ^
-DENABLE_BOOST_WORKAROUND=ON -DBUILD_STATIC_LIB=ON ^
-DCMAKE_RC_COMPILER=E:/Develop/Qt5.3/Tools/mingw482_32/bin/windres.exe ^
-DCMAKE_MAKE_PROGRAM=E:/Develop/Qt5.3/Tools/mingw482_32/bin/mingw32-make.exe ^
-DCMAKE_LFLAGS=-static ^
-DCMAKE_LFLAGS_DLL=-static ^
-DDX9_INCLUDE_PATH=E:/Develop/Qt5.3/Tools/mingw482_32/i686-w64-mingw32/include ^
-DD3D9_LIBRARY=E:/Develop/Qt5.3/Tools/mingw482_32/i686-w64-mingw32/lib/libd3d9.a ^
-DD3DX9_LIBRARY=E:/Develop/Qt5.3/Tools/mingw482_32/i686-w64-mingw32/lib/libd3dx9.a .
假设你的计算机安装了DirectX库,那么cmake会查找头文件以及库文件,不必设置DX9_INCLUDE_PATH、D3D9_LIBRARY和D3DX9_LIBRARY。
4、在mingw32-make之前,改动一下源码。由于编译会出现错误:
在$${Assimp文件夹}/include/assimp/types.h中改动:
在52行后加入#include <string.h>,即可了。
5、改动$${Assimp文件夹}/tools/assimp_view/CMakeFiles/assimp_viewer.dir/build.make中418行,删除$(RC_FLAGS);改动$${Assimp文件夹}/tools/assimp_cmd/CMakeFiles/assimp_cmd.dir/build.make中的58行,删除$(RC_FLAGS)
6、mingw32-make -j 4进行构建。假设顺利的话,libassimp.a以及assimp_cmd.exe和assimp_viewer.exe都会顺利地构建。
最后假设想要使用assimp_cmd.exe和assimp_viewer.exe的话,须要libgcc_s_dw2-1.dll、libstdc++-6.dll以及libwinpthread-1.dll,这些都能够在MinGW文件夹中找到,想要使用assimp_viewer的话还须要有d3dx9_43.dll。当然,我这里也分享了一份assimp_viewer,下载地址在这里。
转载于:https://www.cnblogs.com/zfyouxi/p/3891626.html
在Windows下使用MinGW静态编译Assimp相关推荐
- 开源项目:windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- windows 下使用 MinGW + msys 编译 ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的, ...
- windows下用cmake静态编译编译libevent-2.1.12,同时开启支持openssl
之前一直用的是libevent 2.1.4的版本,今天想把libevent的版本更新一下,于是下了一个最新的libevent-2.1.12 因为把libevent用在我司的sdk里面,所以不希望把li ...
- [转]cscope在windows下使用mingw编译的方法
cscope在windows下使用mingw编译的方法 http://blog.csdn.net/mslk/archive/2007/05/06/1598513.aspx cscope在wi ...
- 手把手教你在Windows下使用MinGW编译libav
2019独角兽企业重金招聘Python工程师标准>>> 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述
一.环境配置 1.下载并安装 MinGW-5.1.4.exe (http://jaist.dl.sourceforge.net/sourcef - -5.1.4.exe),安装时选中 g++, min ...
- Windows下使用VS Code编译和构建LoRaWan开源节点代码
Windows下使用VS Code编译和构建LoRaWan开源节点代码 1.下载LoRaWan节点端开源代码 2.构建LoRaMac-node的先决条件 2.1添加环境变量 3.使用VS Code构建 ...
最新文章
- python批量发送邮件_Python批量发送邮件
- python中dump函数_python中实现php的var_dump函数功能
- python 运维自动化之路 Day2
- axios.post提交的三种请求方式
- 推荐一款优雅的 Android 学习 App
- 模块一 day06 数据类型(中)
- Android多媒体详解
- CentOS 7超详细安装与网络配置
- 2019-9-2-win10-uwp-截图-获取屏幕显示界面保存图片
- 无需安卓手游模拟器,电脑玩绝地求生:全军出击TC Games完美匹配手游服
- [ArcGIS] 空间分析(八) 水文分析
- Shell脚本之网段ip在线情况
- 1375 灯泡开关 III
- 实体店运营:能提高顾客留存率的店铺陈列方式
- 架构之美【kubernetes、Prometheus、微服务、LVS负载均衡】
- python 操作ps脚本_python – 有没有办法以编程方式获得ps输出?
- Android开发:按一定频率同时获取多个传感器数据
- RabbitMQ环境的搭建和报错
- 使用Guardium和QRadar检测数据库漏洞
- 大印文化:学习说服力一定要理解换框!