[팁] 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 라이브러리를
링크시키라는 뜻입니다.