花了大半天的時(shí)間,終于搞定了兩個(gè)平臺(tái)的編譯,并輸出靜態(tài)庫(kù)
一、assimp 編譯到 iOS 平臺(tái)
1、下載源碼
http://assimp.org/index.php/downloads
https://github.com/assimp/assimp/releases/
2、安裝 cmake
brew install cmake
3、進(jìn)入源碼目錄
cd assimp-5.0.0/port/iOS
4、執(zhí)行編譯
./build.sh --stdlib=libc++ --archs="arm64 x86_64"
等待編譯...
5、編譯成功
[100%] Linking CXX static library ../lib/libassimp.a
[100%] Built target assimp
[!] Moving built static libraries into: ./lib/iOS/x86_64/
[+] Creating fat binaries ...
[!] Done! The fat binaries can be found at ./lib/iOS
6、找到頭文件和庫(kù)文件
頭文件
assimp-5.0.0/include
庫(kù)文件
assimp-5.0.0/lib/iOS/libassimp-fat.a
assimp-5.0.0/lib/iOS/libIrrXML-fat.a
assimp-5.0.0/lib/iOS/libzlibstatic-fat.a
二、assimp 編譯到 MacOS 平臺(tái)
1、下載源碼
http://assimp.org/index.php/downloads
https://github.com/assimp/assimp/releases/
2、安裝 cmake gui
https://cmake.org/files/LatestRelease/
找到 cmake-3.20.0-macos-universal.dmg 并下載和安裝
3、打開(kāi) cmake gui 工具,點(diǎn)擊 "Browse Source" 選擇源碼目錄,點(diǎn)擊 "Browse Build" 選擇構(gòu)建目錄,一般會(huì)選擇源碼目錄下面的 build 目錄(如果沒(méi)有就新建一個(gè))
4、點(diǎn)擊 "Configure" 選擇 Xcode
5、在生成的變量列表里面
取消勾選 "BUILD_SHARED_LIBS"(如果你想構(gòu)建動(dòng)態(tài)庫(kù),那就保留這個(gè)選項(xiàng)是勾選狀態(tài))
勾選 "ASSIMP_BUILD_ZLIB"
找到 "CMAKE_OSX_ARCHITECTURES" 并填寫(xiě) arm64 x86_64
6、點(diǎn)擊 "Open Project",打開(kāi) Xcode 工程,Scheme 選擇 "ALL_BUILD"
7、切換 Run 的 Build Configuration 到 Release 然后編譯工程
頭文件
assimp-5.0.0/include
庫(kù)文件
assimp-5.0.0/build/code/Release/libassimp.a
assimp-5.0.0/build/contrib/irrXML/Release/libIrrXML.a
assimp-5.0.0/build/contrib/zlib/Release/libzlibstatic.a
三、建立全局庫(kù)引用
生成的庫(kù)文件很大,差不多有 500M,所以并不適合放在工程里,可以放在 Mac 某個(gè)目錄下,并建立全局庫(kù)引用;
1、新建 assimp 全局目錄
/usr/local/assimp/
2、拷貝 assimp-5.0.0/include 到 /usr/local/assimp/include
3、iOS: 拷貝 assimp-5.0.0/lib/iOS 到 /usr/local/assimp/lib/iOS
3、OSX: 拷貝 assimp-5.0.0/build/*/.a 到 /usr/local/assimp/lib/OSX
四、集成到 Xcode 方法一
1、打開(kāi) Xcode -> 選中 Targets -> 選中 Build Settings
2、找到 Search Paths -> Header Search Paths,并添加路徑
/usr/local/assimp/include
3、找到 Search Paths -> Library Search Paths,并添加路徑
iOS: /usr/local/assimp/lib/iOS
OSX: /usr/local/assimp/lib/OSX
4、打開(kāi) Xcode -> 選中 Targets -> 選中 Build Phases -> Link Binary With Libraries
5、添加庫(kù)文件
iOS:
/usr/local/assimp/lib/iOS/libassimp-fat.a
/usr/local/assimp/lib/iOS/libIrrXML-fat.a
/usr/local/assimp/lib/iOS/libzlibstatic-fat.a
OSX:
/usr/local/assimp/lib/OSX/libassimp.a
/usr/local/assimp/lib/OSX/libIrrXML.a
/usr/local/assimp/lib/OSX/libzlibstatic.a
五、集成到 Xcode 方法二
1、打開(kāi) Xcode -> Preferences -> Location -> Custom Paths
2、添加變量
assimp_header,assimp_header,/usr/local/assimp/include
iOS: assimp_lib,assimp_lib,/usr/local/assimp/lib/iOS
OSX: assimp_lib,assimp_lib,/usr/local/assimp/lib/OSX
3、打開(kāi) Xcode -> 選中 Targets -> 選中 Build Settings
4、找到 Search Paths -> Header Search Paths,并添加路徑
${assimp_header}
5、找到 Search Paths -> Library Search Paths,并添加路徑
${assimp_lib}
6、打開(kāi) Xcode -> 選中 Targets -> 選中 Build Phases -> Link Binary With Libraries
7、添加庫(kù)文件
iOS:
/usr/local/assimp/lib/iOS/libassimp-fat.a
/usr/local/assimp/lib/iOS/libIrrXML-fat.a
/usr/local/assimp/lib/iOS/libzlibstatic-fat.a
OSX:
/usr/local/assimp/lib/OSX/libassimp.a
/usr/local/assimp/lib/OSX/libIrrXML.a
/usr/local/assimp/lib/OSX/libzlibstatic.a
注意:
1、在 Link Binary With Libraries 添加庫(kù)文件時(shí),如果找不到 usr 目錄,可以按 Shift+Command+. 開(kāi)顯示隱藏目錄