본문 바로가기

UNIX_LINUX_C_C++

[unix c/c++] undefined reference to `xxxxxx`

에러 메시지다.

undefined reference to `xxxxxx'

이런 메시지가 있다면, 어느날 갑자기 나타 났다면, 한발자국 앞으로 전진 하고 있다고 생각해도 된다.

열정을 가진 그대에게 해결책을...

발생

- ar -t xxxlib로 라이브러리에 포함된 내용을 확인했다.

- 라이브러리 잘 링크되었다.

- 모든것을 다 점검 했지만 이상이 없다.

해결책

- 컴파일 순서를 바꿔 보라.

잘된경우

$(CC) $(CFLAGS) -o $(RMODULE) $(OBJS) $(ORALIB) $(UNPLIB) $(LIB)

잘보고 순서를 다시 배열해라.

$(OBJS) 파일 뒤에 라이브러리를 둬라.

반대로 두면, 엄청난 삽질의 시작이 될것이다. ㅜㅜ

잘못된 경우

$(CC) $(CFLAGS) -o $(RMODULE) $(ORALIB) $(UNPLIB) $(LIB) $(OBJS)