2007/03/10 18:52

[팁] Socket Programming 할때 Solaris의 Gcc컴파일시 에러날 때


문제상황은 다음과 같다. 솔라리스 운영체제에서 소켓통신을 구현한 소스파일을 다음과 같이 컴파일을 했으나 다음과 에러메시지가 출력된다. 리눅스에서는 정상적으로 컴파일되었던 소스이다.

[magudazi@kimgisa.net]$ gcc -o run socketclient.c

Undefined                       first referenced
 symbol                             in file
socket                              /var/tmp//cc0qLIxU.o
connect                             /var/tmp//cc0qLIxU.o
inet_addr                           /var/tmp//cc0qLIxU.o

ld: fatal: Symbol referencing errors. No output written to run
collect2: ld returned 1 exit status

[magudazi@kimgisa.net]$


해결방법:

[magudazi@kimgisa.net]$ gcc -o run -lsocket -lnsl socketclient.c
[magudazi@kimgisa.net]$ // 성공적으로 컴파일 되었다.

[설명] -lsocket -lnsl 옵션은 컴파일 시 libsocket.so와 libnsl.so 라이브러리를
 링크시키라는 뜻입니다.

Posted by kimgisa.net