리눅스용 Make파일 에러 잡아주세요.
글쓴이: beekldp / 작성시간: 수, 2005/04/13 - 5:55오후
리눅스용 Make파일을 실행하였는데 이러한 에러가 납니다.
어떻게 해야 할까요. 난감합니다. :D
Quote:
---->>> libforms.a(objects.o)(.text+0x17ef): In function `fl_get_underline_pos':는
도체 뭘 말하는지.. libforms.a라이브러리 파일은 해당 폴더에 있고 그 내부에
objects.o도 있습니다. fl_get_underline_pos함수가 뭘 어쨋다는것 같은데....???[/code]---->>> 또 : undefined reference to `__ctype_b' 이것은 뭔지...?
---->>> LOPT매크로도 현재 폴더패스로 -L./를 걸었습니다.
---------------------
---------------------
---------------------아래는 Make파일 내부
---------------------
---------------------
CXX = g++ OFLAG = -O3 #OFLAG = -O3 -fnonnull-objects -ffast-math -g CPPFLAGS = -w $(OFLAG) LOPT = libforms.a -L./ -L/usr/lib -L/usr/X11R6/lib -L/lib -w $(OFLAG) -lm TMOBJ = trimesh.o edge.o vertex.o face.o vec.o globals.o ppmreader.o image.o \ trirenderer.o LOBJ = load.o penreader.o vtkreader.o LOADOBJ = mload.o $(LOBJ) PSDRAWOBJ = psrender.o cull.o XDRAWOBJ = xfrender.o cull.o DRAWOBJ = psrender.o imagerender.o xfrender.o cull.o IMDRAWOBJ = imagerender.o XDRAWLIBA = /home/bc/cshelton/prog/morph/linux/libforms.a -L/usr/X11R6/lib -lX11 XDRAWLIB = -lX11 -pthread WOBJ = awarpmesh.o warper.o warpmesh3.o warpmesh4.o robust.o \ warpmesh2.o warpmesh.o $(TMOBJ) DECOBJ = quadric.o reducer.o MMOBJ = model.o $(DECOBJ) gmatrix.o $(WOBJ) BSOBJ = bootstrap.o $(MMOBJ) all: brender buildlevels xdraw bootmodel clean: rm -f *.o brender buildlevels xdraw bootmodel brender: brender.o $(MMOBJ) $(LOADOBJ) $(IMDRAWOBJ) $(CXX) -o brender brender.o $(MMOBJ) $(LOADOBJ) $(IMDRAWOBJ) buildlevels: buildlevels.o $(MMOBJ) $(LOADOBJ) $(CXX) -o buildlevels buildlevels.o $(MMOBJ) $(LOADOBJ) $(LOPT) xdraw: xdraw.o $(DRAWOBJ) $(LOADOBJ) $(MMOBJ) $(CXX) -o xdraw xdraw.o $(XDRAWLIB) \ $(DRAWOBJ) $(LOADOBJ) $(MMOBJ) $(LOPT) bootmodel: bootmodel.o $(LOADOBJ) $(BSOBJ) $(CXX) -o bootmodel bootmodel.o $(LOADOBJ) $(BSOBJ) $(LOPT) -lpthread %.o : %.cpp $(CXX) $(CPPFLAGS) -c $<
---------------------
---------------------
---------------------아래는 make실행 결과
---------------------
---------------------
[root@localhost Do-Compile]# make all >> out_compile.txt libforms.a(objects.o)(.text+0x1689): In function `fl_convert_shortcut': : undefined reference to `__ctype_b' libforms.a(objects.o)(.text+0x175d): In function `fl_get_underline_pos': : undefined reference to `__ctype_b' libforms.a(objects.o)(.text+0x177e): In function `fl_get_underline_pos': : undefined reference to `__ctype_b' libforms.a(objects.o)(.text+0x17bd): In function `fl_get_underline_pos': : undefined reference to `__ctype_b' libforms.a(objects.o)(.text+0x17d9): In function `fl_get_underline_pos': : undefined reference to `__ctype_toupper' libforms.a(objects.o)(.text+0x17ef): In function `fl_get_underline_pos': : undefined reference to `__ctype_tolower' libforms.a(forms.o)(.text+0x1ce6): In function `do_shortcut': : undefined reference to `__ctype_b' libforms.a(forms.o)(.text+0x1d04): In function `do_shortcut': : undefined reference to `__ctype_toupper' libforms.a(forms.o)(.text+0x1d1f): In function `do_shortcut': : undefined reference to `__ctype_tolower' libforms.a(input.o)(.text+0x2a0b): In function `fl_set_input_format': : undefined reference to `__ctype_b' libforms.a(input.o)(.text+0x2ae8): In function `date_validator': : undefined reference to `__ctype_b' libforms.a(input.o)(.text+0x2c70): In function `float_int_validator': : undefined reference to `__ctype_b' libforms.a(input.o)(.text+0x2cd3): In function `float_int_validator': : undefined reference to `__ctype_tolower' libforms.a(input.o)(.text+0x2e53): In function `float_int_validator': : undefined reference to `__ctype_b' libforms.a(input.o)(.text+0x2e75): In function `float_int_validator': : undefined reference to `__ctype_b' libforms.a(flresource.o)(.text+0x1537): In function `fl_initialize': : undefined reference to `__ctype_toupper' libforms.a(flresource.o)(.text+0x1553): In function `fl_initialize': : undefined reference to `__ctype_toupper' libforms.a(win.o)(.text+0xcf3): In function `fl_label_to_res_name': : undefined reference to `__ctype_b' libforms.a(win.o)(.text+0xd02): In function `fl_label_to_res_name': : undefined reference to `__ctype_tolower' libforms.a(fonts.o)(.text+0xa6b): In function `cv_fname': : undefined reference to `__ctype_b' libforms.a(fonts.o)(.text+0xa93): In function `cv_fname': : undefined reference to `__ctype_b' libforms.a(fonts.o)(.text+0xad9): In function `cv_fname': : undefined reference to `__ctype_b' libforms.a(fonts.o)(.text+0xaff): In function `cv_fname': : undefined reference to `__ctype_b' libforms.a(space.o)(.text+0x25): In function `de_space': : undefined reference to `__ctype_b' libforms.a(space.o)(.text+0xad): more undefined references to `__ctype_b' follow collect2: ld returned 1 exit status make: *** [xdraw] 오류 1
Forums:
Make 에러가 아니라 컴파일 에러네요. library관련해서 문제 인것
Make 에러가 아니라 컴파일 에러네요. library관련해서 문제 인것 같은데.
관련 정보는 구글링 해보시는게 좋겠네요.
RedHat bugzilla에도 예전에 비슷한 issue는 있습니다.
Bugzilla Bug 86465 - Undefined __ctype_b using glibc with ncurses
사용하는 환경에 따라서 차이가 있어서...
댓글 달기