作者:佚名 时间:2024-02-21 12:49:52 阅读:(14)
在服务器安装coreseek编译csft的时候提示:对'libiconv_open'未定义的引用、对'libiconv'未定义的引用、对'libiconv_close'未定义的引用,接下来云梦编程为大家介绍一下解决方法,有需要的小伙伴可以参考一下:
/usr/local/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22292:对‘libiconv_open’未定义的引用 /usr/local/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22310:对‘libiconv’未定义的引用 /usr/local/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22316:对‘libiconv_close’未定义的引用 collect2: 错误:ld 返回 1 make[2]: *** [indexer] 错误 1 make[2]: 离开目录“/usr/local/coreseek-4.1-beta/csft-4.1/src” make[1]: *** [all] 错误 2 make[1]: 离开目录“/usr/local/coreseek-4.1-beta/csft-4.1/src” make: *** [all-recursive] 错误 1
(1)、方法一(亲测):
编辑Makefile文件:
vim /usr/local/coreseek-4.1-beta/csft-4.1/src/Makefile
在修改249行LIBS = -ldl -lm -lz -lexpat -L/usr/local/lib -lrt -lpthread ,修改为如下:
LIBS = -ldl -lm -lz -lexpat -liconv -L/usr/local/lib -lrt -lpthread
保存,重新编译即可
(2)、网友解决方法:
在服务器查找iconv.h 文件,会发现有两个
[root@localhost csft-4.1]# find / -name iconv.h /usr/include/iconv.h /usr/local/include/iconv.h
在报错文件sphinx.cpp中找到iconv.h的引用处,将文件地址改为绝对地址:
vim /usr/local/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp
将#include "iconv.h",修改为上面的路径,以成功的为准
#include "/usr/include/iconv.h" 或者 #include "/usr/local/include/iconv.h"
以上就是云梦编程为大家介绍的关于对'libiconv'未定义的引用的解决方法,了解更多相关文章请关注云梦编程网!