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

어떻게 w/모두 SPARC 및 옵테론 시스템에서 기존의 32 비트를 방해 O를 libiconv 64 비트를 구축합니까? 이유는, 나는 libiconv의 기존 버전을 알지 못한다.

답변

2

이 libiconv.so는 비표준 인/usr/local/lib에있는 운영 체제의 일부가 아닙니다. 이 라이브러리의 64 비트 버전을 직접 설치하거나 다른 위치에서 설치하려면/usr/local/lib/amd64 또는/usr/local/lib/64에 설치하십시오.

그러나 Solaris는 이미 표준 C 라이브러리에 iconv 라이브러리 기능을 포함하고 있으므로 Gnu libiconv는 기본적으로 중복되고 불필요하므로 여기서는 처음부터 쓸모가 없습니다.

+0

@ jilliagre.. 도움을 주셔서 감사합니다. libiconv에 연결하려면 makefile에서 -liconv를 사용해야했습니다. .cpp 파일에 #include 이 있습니다. iconv가 표준 C lib의 일부인 경우 makefile에서 32 및 64 비트 iconv에 링크하려면 어떻게 사용해야합니까? – confused

+0

@ jilliagre .. 도와 줘서 고마워. libiconv에 연결하려면 makefile에서 -liconv를 사용해야했습니다. .cpp 파일에 #include 이 있습니다. iconv가 표준 C lib의 일부인 경우 makefile에서 32 및 64 비트 iconv에 링크하려면 어떻게 사용해야합니까? "정의되지 않은 기호"오류를 제거하려면 -liconv를 사용해야합니다. 그리고 -liconv를 사용하면 32 비트 인 /usr/local/lib/libiconv.so로 해석됩니다. – confused

+0

당신은 당신이 만들고있는 것에 따라 32 비트와 64 비트 라이브러리 모두에 링크하지 않습니다. 관찰 한 정의되지 않은 기호는 무엇입니까? – jlliagre