2011-05-11 78 views
1

我有64位solaris - sparc和opteron系统。在/ usr/local/lib下,我可以看到两个系统的libiconv.so。在libiconv.so文件命令提供以下的输出: -libiconv solaris-sparc/opteron 64位

ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped, no debugging information available 

如何构建64位libiconv的W/O在SPARC和Opteron系统扰乱现有的32位?原因是,我不知道libiconv的现有版本。

回答

2

这个libiconv.so不属于非标准/ usr/local/lib中的操作系统的一部分。如果您想自己构建或从其他位置安装此库的64位版本,则应将其安装在/ usr/local/lib/amd64或/ usr/local/lib/64中。

但是,这可能首先是无用的,因为Solaris已经在其标准C库中包含了iconv库函数,所以Gnu libiconv在这里基本上是多余的和不必要的。

+0

@ jilliagre ...感谢您的帮助。我必须在makefile中使用-liconv才能链接到libiconv。我在.cpp文件中包含#include 。如果iconv是标准C库的一部分,我应该在我的makefile中使用什么来链接到32位和64位iconv? – confused 2011-05-11 16:28:45

+0

@ jilliagre ..感谢您的帮助。我必须在makefile中使用-liconv才能链接到libiconv。我在.cpp文件中包含#include 。如果iconv是标准C库的一部分,我应该在我的makefile中使用什么来链接到32位和64位iconv?我需要使用-liconv来摆脱“未定义符号”错误。当我使用-liconv时,它将解析为32位的/usr/local/lib/libiconv.so。 – confused 2011-05-11 17:00:26

+0

根据您正在构建的内容,您从不链接到32位和64位库中的任何一个或另一个。你观察到的未定义符号是什么? – jlliagre 2011-05-11 20:34:58