打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
openfst静态库报错时解决方法
为kaldi编译静态库时碰到了下面的问题:

/data/0_allenyang/openfst-1.6.2/build/lib/libfst.a(fst.o): In function `fst::GenericRegister<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, fst::FstRegisterEntry<fst::ArcTpl<fst::TropicalWeightTpl<float> > >, fst::FstRegister<fst::ArcTpl<fst::TropicalWeightTpl<float> > > >::LoadEntryFromSharedObject(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_17TropicalWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_17TropicalWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x6a): undefined reference to `dlopen'

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_17TropicalWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_17TropicalWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x84): undefined reference to `dlerror'

/data/0_allenyang/openfst-1.6.2/build/lib/libfst.a(fst.o): In function `fst::GenericRegister<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, fst::FstRegisterEntry<fst::ArcTpl<fst::LogWeightTpl<float> > >, fst::FstRegister<fst::ArcTpl<fst::LogWeightTpl<float> > > >::LoadEntryFromSharedObject(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x6a): undefined reference to `dlopen'

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIfEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x84): undefined reference to `dlerror'

/data/0_allenyang/openfst-1.6.2/build/lib/libfst.a(fst.o): In function `fst::GenericRegister<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, fst::FstRegisterEntry<fst::ArcTpl<fst::LogWeightTpl<double> > >, fst::FstRegister<fst::ArcTpl<fst::LogWeightTpl<double> > > >::LoadEntryFromSharedObject(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIdEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIdEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x6a): undefined reference to `dlopen'

fst.cc:(.text._ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIdEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_[_ZNK3fst15GenericRegisterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_16FstRegisterEntryINS_6ArcTplINS_12LogWeightTplIdEEEEEENS_11FstRegisterISB_EEE25LoadEntryFromSharedObjectERKS6_]+0x84): undefined reference to `dlerror'


报了一堆dlopen dlerror函数无法链接的错误,既然是静态库,应该不需要动态链接库的特性的,通过在makefile的LDFLAG中加入下面选项来解决该链接错误:


-Wl,—no-as-needed -ldl

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[C++错误处理]no matching function for call to transform
transform算法中使用toupper函数
2018第四届百越杯AWD总结
最高法院案件解析:案外人执行异议之诉中的林地使用权及林木所有权问题
C++引用参数传递错误
eee
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服