/****************gcc-3.4.5버전으로 컴파일한 로그입니다.***********************/
[root@linuxserver examples]# make
arm-linux-g++ sdlhelloworld.cpp -o sdlhelloworld -Werror -Wall -Wno-unused -lguichan_sdl -lguichan -lSDL_image `sdl-config --libs --cflags`
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm-linux/arm-linux/lib/libSDL_image.so uses hardware FP, whereas sdlhelloworld uses software FP
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: failed to merge target specific data of file /usr/local/arm-linux/arm-linux/lib/libSDL_image.so
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm-linux/arm-linux/lib/libSDL.so uses hardware FP, whereas sdlhelloworld uses software FP
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: failed to merge target specific data of file /usr/local/arm-linux/arm-linux/lib/libSDL.so
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm-linux/arm-linux/lib/libpthread.so uses hardware FP, whereas sdlhelloworld uses software FP
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: failed to merge target specific data of file /usr/local/arm-linux/arm-linux/lib/libpthread.so
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm-linux/arm-linux/lib/libm.so uses hardware FP, whereas sdlhelloworld uses software FP
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: failed to merge target specific data of file /usr/local/arm-linux/arm-linux/lib/libm.so
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm-linux/glibc/lib/libc.so.6 uses hardware FP, whereas sdlhelloworld uses software FP
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: failed to merge target specific data of file /usr/local/arm-linux/glibc/lib/libc.so.6
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/crt1.o(.text+0x2c): In function `_start':
: undefined reference to `__libc_csu_fini'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/crt1.o(.text+0x34): In function `_start':
: undefined reference to `__libc_csu_init'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `__ctype_tolower_loc@GLIBC_2.3'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `__ctype_toupper_loc@GLIBC_2.3'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libgcc_s.so: undefined reference to `dl_iterate_phdr@GLIBC_2.2.4'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `getwc@GLIBC_2.2'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `putwc@GLIBC_2.2'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `wcsftime@GLIBC_2.2'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `__ctype_b_loc@GLIBC_2.3'
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/lib/libstdc++.so: undefined reference to `ungetwc@GLIBC_2.2'
collect2: ld returned 1 exit status
make: *** [all] 오류 1
/****************gcc-2.95.3버전으로 컴파일한 로그입니다.***********************/
[root@linuxserver examples]# make
/usr/local/arm-linux/bin/arm-linux-g++ sdlhelloworld.cpp -o sdlhelloworld -Werror -Wall -Wno-unused -lguichan_sdl -lguichan -lSDL_image `sdl-config --libs --cflags`
In file included from /usr/local/arm-linux/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/guichan/sdl.hpp:60,
from sdlhelloworld.cpp:8:
/usr/local/arm-linux/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/guichan/sdl/sdlgraphics.hpp:166: cannot adjust access to `void gcn::Graphics::drawImage(const gcn::Image *, int, int)' in `class gcn::SDLGraphics'
/usr/local/arm-linux/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/guichan/sdl/sdlgraphics.hpp:130: because of local method `void gcn::SDLGraphics::drawImage(const gcn::Image *, int, int, int, int, int, int)' with same name
make: *** [all] 오류 1
두개의 컴파일러로 해보았는데요. 위와같이 다른에러현상이 나오네요.
컴파일러 버전을 더 최신의 것을 써야할까요?
조언부탁합니다.
는 x86용 아닌가요? 만일 arm으로 세팅했을때도 같은 증상이면 툴체인문제인데, 이 경우는 보통.....새로 만들어야 할겁니다. 아마도 softfloat적용이 안된 듯....게다가 glibc랑 버전도 안맞는 듯 하고요.
2.95.3의 경우는 g++문제인 듯 싶습니다. c++의 경우 gcc 2.95.x, 3.3.x, 3.4.x, 4.x 대 마다 차이가 있습니다.
아마도 2.95.3에서는 컴파일이 안되는 듯 싶네요.