在Ubuntu13.10上编译和使用OpenFST会导致链接错误,比如“对dlopen的未定义引用”。怎么才能解决这个问题?在线搜索建议在gcc命令行中包括-ldl,但这还不够。
发布于 2014-04-24 13:02:51
汇编如下:
./configure LDFLAGS=-Wl,--no-as-needed
make
sudo make install要编译使用库的a.cpp,请执行以下操作
g++ -I /usr/local/include a.cpp /usr/local/lib/libfst.so -Wl,--no-as-needed -ldl-ldl出现在-Wl,--no-as-needed之后是很重要的。
运行您的程序就像您从OpenFST提供的自述文件中所期望的那样工作,您只需要在LD_LIBRARY_PATH中有/usr/local/lib。例如,
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ./a.outhttps://askubuntu.com/questions/454443
复制相似问题