天天看点

linux undefined reference to 'libiconv'

报错 undefined reference to ‘libiconv’ undefined reference to ‘libiconv_open’ undefined reference to ‘libiconv_close’

这种报错一般有两种情况

一、环境变量里面的 LIB_LIBRARY_PATH这个默认路径有问题

输入命令 $ env|grep LIB 会看LIB_LIBRARY_PATH=/oracle/app/oracle/product/11.2.0/dbhome_1/lib:/usr/lib:/oracle/app/oracle/product/11.2.0/lib32

QTLIB=/usr/lib64/qt-3.3/lib

我的系统里面能看到这些,各自的系统里面看到的不一样,因为每个用户在库里面安装的库不一样,看到的路径就不一样

在用户根目录下进入环境变量文件里面

进入到 .bash_profile 里面找到 LIB_LIBRARY_PATH 变量在末尾加 ‘:’ 符号,接着加上你要的库的路径 例如”:/usr/lib”。

修改好之后保存重新登录就可以了

二、就是系统没有这个库,可以在网上下载 libiconv库进行安装

安装后在重新编译程序,如果还是同样的错误,请进行第一种情况的操作并在 编译命令后加 -liconv ,如果makefile里面也一样要加

这样问题就可以解决了

继续阅读