질문 GNU iconv 라이브러리 컴파일이 가능케 할려면???

lengbo의 이미지

안녕하세요

얼마전부터 iconv 때문에 고생하는 사람입니다.

참고로 sun 장비에서 컴파일을 하고 있는데요
iconv 를 쓸려는데 자꾸 에러가 나서요..

#include <stdio.h>
#include <iconv.h>
#include <string.h>
#include <stdlib.h>

int main()
{
iconv_t cd = iconv_open("EUC-KR", "ISO-2022-KR");

printf("%d\n", (int)cd);


return 0;
}

이걸 돌리는데 그냥 cc -o test1 test1.c 로하면 Unresolved iconv_open 이라는 메세지가 나옵니다.

그래서 iconv 라이브러리가 없나해서 iconv 페케지를 다운받아 설치했습니다.
$ ./configure --prefix=/usr/local
$ make
$ make install

헌데 이래도 같은 에러가 나오더군요.

그래서 이번엔 아카이브 화일을 찾아서
cc -o test1 test1.c -L/usr/ccs/lib/ -liconv

이렇게 컴파일을 했더니 컴파일은 되는데 리턴값이 에러가 나오더군요...

어케해야 하는건지 답을 찾을수가 없어서요...

고수님들은 조언 부탁드립니다.

참고로 라이브러치 경로는 아래와같이 잡혀있습니다.
setenv LD_LIBRARY_PATH /usr/lib/usr/local/lib

정태영의 이미지

gnu libiconv를 설치하셨으면..

링크할때 -liconv를 붙여야 하며.. 만약 libiconv.a나 libiconv.so등을 못찾는 경우에는.. -L로.. 그 파일이 있는 경로를 붙여주면.. 대게 해결됩니다..

unresolved symbol이라고 나온건.. 링크에러이며..
위의 이유로 난 에러입니다만.. 제대로 해결하신 걸로 보여집니다만..

에러가 리턴된다는 것만 가지고는 왜 그런지 알 수가 없군요..
man iconv_open 해보시면 알겠지만..

-1이 리턴된 경우..
errno 가 세팅되며.. 그 errno를 이용해서.. 왜 에러가 났는지를
알 수 있습니다.. 참고하시기 바랍니다 ;)

다만 errno 값을.. 가지고 어떤 에런지를 알려면
errno.h 를 include 해야겠죠 -3-33

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..