当前位置:首页 > Liunx教程 >

sphinx.cpp:22292:对‘libiconv_open’未定义的引用

发布时间:2024-02-21 12:49:52 作者:佚名 阅读:(11)

在服务器安装coreseek编译csft的时候提示:对'libiconv_open'未定义的引用、对'libiconv'未定义的引用、对'libiconv_close'未定义的引用,接下来云梦编程为大家介绍一下解决方法,有需要的小伙伴可以参考一下:

sphinx.cpp:22292:对‘libiconv_open’未定义的引用

1、错误提示:

/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

2、解决方法:

    (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'未定义的引用的解决方法,了解更多相关文章请关注云梦编程网!

© 2023 - 云梦编程网 版权所有 鲁ICP备2021017318号-4