近期想升级一下KALDI这个程序,在编译openfst 1.6.1过程中,发现这个编译过程已经和原来的不太一样。
网上没有可参照的地方。
只能从原始的文档上进行查看http://www.openfst.org/twiki/bin/view/FST/DistInstall。
通过文档查看,发现只需要三步
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
然而在make -j 4的过程中,发现有个地方无法编译过去。即
for (auto state = f_parent, d = kNoStateId; state != kNoStateId;
00078 d = state, state = parent[state].first) {
报错原因是这个auto无法转化为INT,网上没有现成的东西,没有办法,编译过不去,说明无法进行类型转换。
仔细看了下源码,发现这个state可以是StateId, 就这样切换,剩下的居然顺利通过了。