python安裝mtl庫 生成MTLLibrary

2021-10-11 05:03:02 字數 1451 閱讀 6713

生成metal庫有很多方法

從metal原始碼生成庫: 將原始碼放進乙個string中,然後使用newlibrarywithsource來構建mtllibrary

將.metal編譯為.metallib,生成.metallib可以是xcode自動生成,然後用newdefaultlibrary取出;或者手動用編譯工具生成(newlibrarywithfile);還有奇技淫巧,將生成的.metal轉成.h標頭檔案,之後用newlibrarywithdata來取用。

手動編譯metal原始碼並生成metal庫

這個方法是比較推薦的

具體步驟:

使用metal工具將每乙個.metal檔案編譯為.air檔案

xcrun -sdk macosx metal -c mylibrary.metal -o mylibrary.air

使用metallib工具將.air或者.metalar檔案生成乙個.metallib檔案

xcrun -sdk macosx metallib mylibrary.air -o mylibrary.metallib

將多個.metal編譯生成乙個.metallib

按照官方步驟:

使用metal工具將每乙個.metal檔案編譯為.air檔案

xcrun -sdk macosx metal -c mylibrary.metal -o mylibrary.air

使用metal-ar工具將多個.air檔案歸檔為乙個.metalar檔案(具體操作類似於unix ar工具)

xcrun -sdk macosx metal-ar r mylibrary.metalar mylibrary1.air mylibrary2.air mylibrary3.air

使用metallib工具將.air或者.metalar檔案生成乙個.metallib檔案

xcrun -sdk macosx metallib mylibrary.air -o mylibrary.metallib

或者xcrun -sdk macosx metallib mylibrary.metalar -o mylibrary.metallib

小規模測試(將三個.metal生成乙個.metallib)成功,但是網上說會存在問題,實際測試中沒有發現問題,具體原因目前不明。

將.metallib放在bundle資料夾中使用

nserror *libraryerror = null;

nsstring *libraryfile = [[nsbundle mainbundle] pathforresource:@"mylibrary" oftype:@"metallib"];

id mylibrary = [_device newlibrarywithfile:libraryfile error:&libraryerror];

if (!mylibrary) {

nslog(@"library error: %@", libraryerror);

python3 模板庫 Python模板庫Mako

中文語法文件 快速總結 特點 簡單快速,對模組化程式設計支援到位,能直接呼叫python 關於速度的對比 mako 1.10 ms myghty 4.52 ms cheetah 1.10 msgenshi 11.46 ms django 2.74 mskid 14.54 ms 本質及哲學 mako的...

手機python庫安裝 python庫安裝

標籤 這幾天開始想學習python進行大資料處理,但是要對其中庫檔案要進行擴充套件出現了一下問題,在此直接展示一下 2 在這裡我用的是python2.7版本,本來python2.6之下的版本要安裝第三方的庫檔案的時候,要自己安裝pip和setuptool這兩個安裝庫檔案,在python2.7之後版本...

python 庫列表 python庫安裝列表

1.sudo apt get install python setuptools安裝setuptools setuptools 可以自動的安裝模組,只需要你提供給它乙個模組名字就可以了,並且自動幫你解決模組的依賴問題。一般情況下用setuptools安裝的模組會自動放到乙個字尾是.egg的目錄裡。s...