undefined reference to 'XXX' 문제에 대해 질문 드립니다.
글쓴이: k9kim987 / 작성시간: 목, 2015/02/12 - 12:49오전
안녕하세요. Linux를 이용해 프로그램밍을 하고 있는 초보 대학원생입니다.
다름이 아니라 undefined reference to ‘XXX’ 문제에 대해 질문드리고자 글을 작성했습니다.
제가 컴파일 Makefile을 올렸습니다.
.cpp파일을 컴파일을 하는데 있어 문제가 발생하지 않았습니다.
다만 .o파일을 사용하는데 있어 문제가 발생한 것으로 보입니다.
혹시 Makefile을 잘못짜서 생긴 문제인지, 아니면 다른 부분에서 문제가 생긴것인지 알고 싶습니다.
답변 부탁드립니다.
# include hpp from other directory
incdir = ~/Linux/include
- compilers and flags
compiler = g++
flags = -O3 -I $(incdir)
- dependencies
core = $(incdir)/main.hpp \ $(incdir)/utility.hpp \ $(incdir)/other.hpp
- make the program
heat: heat.cpp $(core) $(compiler) $(flags) $< -o $@
- clean the program
clean: rm -rf *.o heat
Forums:
gilgil.net
해당 심볼을 링크하지 못해서 나는 에러입니다($(compiler) $(flags) $< -o $@ 과정에서).
어떠한 심볼을 링크하려고 하는지 알아 내어서 해당 심볼이 어디에 있는지 찾아서 링크하시기 바랍니다.
www.gilgil.net
대부분의 경우 외부 라이브러리가 링크 목록에서 빠진
대부분의 경우 외부 라이브러리가 링크 목록에서 빠진 경우입니다.
'XXX'가 어디에 들어있는 심볼인지 확인후 실행파일을 만들 때 해당 라이브러리를 링크해주면 됩니다.
참고로 math.h 해더를 사용하는 경우에는 -lm을 추가하면됩니다.
이건 링커에러이기 때문에 오브젝트 파일을 만드는 컴파일단계에서는 문제가 없습니다.
댓글 달기