iOS在線識別:http://www.reibang.com/u/3c2a0bd52ebc
集成kaldi是這里最關(guān)鍵的一步,這一步?jīng)]成功蝙搔,也就沒有后續(xù)了逐工。
編譯
由于編譯的方式有很多種,但是我們是用于iOS應(yīng)用的毅否,所以只能在iOS環(huán)境下進(jìn)行編譯砸抛。
1. 相關(guān)的環(huán)境變量
CPPFLAGS
CFLAGS
CXXFLAGS
這里根據(jù)自己的環(huán)境設(shè)置评雌,由于對腳本編譯也不是特別熟悉,所以也不敢多說.
2.遇到的問題
a)開始幾次編譯出來的靜態(tài)庫都不能在真機(jī)上運(yùn)行直焙,因?yàn)椴恢С謅rm64景东,都是x86_的,改了幾次才成功奔誓,所以編譯的時(shí)候要設(shè)置好支持的架構(gòu)斤吐。
b)添加依賴庫,添加libc++
就可以了。
3.注意
可以將kaldi分步編譯成.a再通過下面的命令合成一個(gè).a庫
libtool -static -o $libname $lib_module
當(dāng)然在編譯的時(shí)候可能會遇到libtool找不到和措,在mac上找到正確的libtool路徑就可以了庄呈,沒遇到更好。
4.編譯openfst
由于kaldi里面還會用到openfst臼婆,所以openfst也要編譯抒痒,編譯openfst方式跟kaldi一樣幌绍,這里不重述了颁褂。
集成
- 將頭文件和.a文件直接拖入工程中
- 添加依賴庫
libiconv.2.tbd
,libresolv.9.tbd
傀广,libc++.1.tbd
- 在項(xiàng)目"Header Search Paths"設(shè)置好頭文件路徑颁独,因?yàn)閗aldi都是c++文件,引入的頭文件都是帶路徑伪冰,所以這里要設(shè)置好誓酒。