2011-05-11 102 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