在Windows下使用MinGW静态编译Assimp
生活随笔
收集整理的這篇文章主要介紹了
在Windows下使用MinGW静态编译Assimp
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用MinGW靜態(tài)編譯Assimp
到了5月份了,沒有寫一篇日志,于是自己從知識庫里面拿出一篇文章充數(shù)吧。這次將要解說怎樣在Windows下使用MinGW靜態(tài)編譯Assimp。
Assimp是眼下比較全的3D格式解析庫了,熟悉3D游戲開發(fā)的同行都知道,3D的格式非?;靵y,各種3D格式在不同場合都有他們特定的應(yīng)用,游戲引擎僅僅可以解析少部分3D格式,很多其它有用的格式來自游戲公司自己定義的格式。而在開源領(lǐng)域,Assimp算是比較全的3D格式導(dǎo)入庫了。它對3D格式理解深入,非常適合整合至3D圖形引擎中,讓你們的程序支持很多其它3D的格式。要靜態(tài)編譯Assimp,首先須要準(zhǔn)備Assimp的源代碼、cmake和MinGW。MinGW我選用的是Qt自帶的庫,大家能夠自己選擇合適的MinGW或是TDM-MinGW。這里我將Assimp的源代碼和cmake分享一下,以便自己日后查閱。
? ? ? ? ?Assimp下載地址:這里(提取碼:60c5)
???????? Cmake的下載地址:這里(提取碼:46ac)
下載Assimp后,解壓之,放在合適的位置,我這里放在E:/Develop中。同一時(shí)候下載cmake后,解壓之,放在合適的位置。我這里放在E:/Develop中。
然后cmd進(jìn)入命令行,我們主要在命令行進(jìn)行編譯。
1、首先環(huán)境變量設(shè)置,我這里是這么設(shè)置的:
set path=%path%;E:/Develop/cmake-2.8.12.1-win32-x86/bin;E:/Develop/Qt5.3/Tools/mingw482_32/bin2、然后到assimp庫的根文件夾下
cd $${Assimp文件夾}3、使用cmake進(jìn)行構(gòu)建
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 .假設(shè)你的計(jì)算機(jī)安裝了DirectX庫,那么cmake會查找頭文件以及庫文件,不必設(shè)置DX9_INCLUDE_PATH、D3D9_LIBRARY和D3DX9_LIBRARY。
4、在mingw32-make之前,改動(dòng)一下源碼。由于編譯會出現(xiàn)錯(cuò)誤:
在$${Assimp文件夾}/include/assimp/types.h中改動(dòng):
在52行后加入#include <string.h>,即可了。
5、改動(dòng)$${Assimp文件夾}/tools/assimp_view/CMakeFiles/assimp_viewer.dir/build.make中418行,刪除$(RC_FLAGS);改動(dòng)$${Assimp文件夾}/tools/assimp_cmd/CMakeFiles/assimp_cmd.dir/build.make中的58行,刪除$(RC_FLAGS)
6、mingw32-make -j 4進(jìn)行構(gòu)建。假設(shè)順利的話,libassimp.a以及assimp_cmd.exe和assimp_viewer.exe都會順利地構(gòu)建。
最后假設(shè)想要使用assimp_cmd.exe和assimp_viewer.exe的話,須要libgcc_s_dw2-1.dll、libstdc++-6.dll以及l(fā)ibwinpthread-1.dll,這些都能夠在MinGW文件夾中找到,想要使用assimp_viewer的話還須要有d3dx9_43.dll。當(dāng)然,我這里也分享了一份assimp_viewer,下載地址在這里。
轉(zhuǎn)載于:https://www.cnblogs.com/zfyouxi/p/3891626.html
總結(jié)
以上是生活随笔為你收集整理的在Windows下使用MinGW静态编译Assimp的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键自动发布ipa(更新svn,拷贝资源
- 下一篇: WampServer修改MySQL密码的