gpt4 book ai didi

c++ - Iconv 库多次安装导致错误

转载 作者:行者123 更新时间:2023-11-28 06:43:08 25 4
gpt4 key购买 nike

我下载了iconv昨天,并使用以下方法安装它:

$ ./configure --prefix=/usr/local
$ make
$ make install

当我尝试从 shell 运行 iconv 时,我收到一个提示说找不到共享对象文件,所以我执行了 export LD_LIBRARY_PATH=/usr/local/lib。然后 iconv 工作。

这导致我的应用程序出错。我不知道其中一个源文件已经包含 iconv.h。今天在eclipse中多次成功构建debug版本,但是在release构建时,出现如下错误:

undefined reference to `libiconv_close' 
undefined reference to `libiconv_open'
undefined reference to `libiconv'

然后我 panic ,运行make uninstall,重新启动,但问题仍然存在。我怎样才能让我的程序再次运行?

ldconfig -v | grep "iconv" shows:
libiconv.so.2 -> libiconv.so.2.5.1

我在 Ubuntu 12.04 LTS 上

最佳答案

LD_LIBRARY_PATH 是一个重写,应该用于调试目的,或者解决难以修复的错误。

在任何情况下你都不应该在你的环境中全局设置它,因为你在这里描述的事情迟早会发生,特别是当你将手动编译的软件安装到系统目录时......(问题:为什么'你不是通过包管理器安装 iconv 吗?那应该始终是你的第一选择。)

如果您的 iconv 安装需要库路径,请创建一个带有本地 覆盖的别名:

alias iconv="LD_LIBRARY_PATH=/usr/local/lib iconv"

这会使 iconv 正确运行,但不会影响其他包或构建过程。


最重要的是,找到 export LD_LIBRARY_PATH=...(无论您把它放在哪里),然后删除它。这应该使您的应用程序再次正确编译(当然,除非您通过手动安装/卸载到 /usr... 使您的系统陷入困境)

关于c++ - Iconv 库多次安装导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com