기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.. 질문만 올리네요..-_-;;

libsdl.org의 예제를 보고 SDL 공부를 좀 하고 있습니다.

-lSDL_image 옵션 및 -lSDL_ttf 옵션을 필요로 하는 예제들은 잘 컴파일이 되네요
즉 image load와 ttf 폰트는 잘 사용이 됩니다..

but 한글은 어찌해나 나오나요???


그런데 sound play 예제를 돌리기 위해 -lSDL_mixer 옵션을 주고 컴파일 했는데
오류가 납니다..  undefined reference 인데.. 컴파일러는 이솝사이트의
gcc-3.3.4-glibc-2.3.3 for ARM9 을 사용하고 있습니다.

조언을 주시면 대단히 감사하겠습니다.


bash-3.00# arm-linux-g++ -o lesson11 lesson11.cpp `cross-sdl-config --cflags`
> -lSDL -lSDL_image -lSDL_ttf -lSDL_mixer `cross-sdl-config --libs` -lz
> -ljpeg -lpng -lfreetype -lpthread
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x17c): In function `music_mixer':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:232: undefined reference to `VC_WriteBytes'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x308):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:277: undefined ref erence to `VC_WriteBytes'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x46c): In function `open_music':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:393: undefined reference to `MikMod_InfoDriv er'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x478):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:397: undefined ref erence to `MikMod_InfoLoader'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x488):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:400: undefined ref erence to `MikMod_Init'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x540):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:401: undefined ref erence to `MikMod_strerror'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x554):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:399: undefined ref erence to `MikMod_RegisterAllLoaders'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x55c):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:395: undefined ref erence to `MikMod_RegisterAllDrivers'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x5ec):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_mode'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x5f8):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_mixfreq'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x5fc):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_volume'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x600):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_pansep'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x604):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_reverb'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x608):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_device'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x60c):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_musicvolume'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x610):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `md_sndfxvolume'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x628):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:366: undefined ref erence to `MikMod_errno'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x900): In function `Mix_LoadMUS':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:580: undefined reference to `Player_Load'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x940):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:582: undefined ref erence to `MikMod_strerror'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x9c0):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:477: undefined ref erence to `MikMod_errno'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0xa38): In function `Mix_FreeMusic':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:639: undefined reference to `Player_Free'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0xbc8): In function `music_internal_play':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:724: undefined reference to `Player_Start'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0xd8c): In function `music_internal_position':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:830: undefined reference to `Player_SetPosit ion'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0xe64): In function `music_internal_volume':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:900: undefined reference to `Player_SetVolum e'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0xf30): In function `music_internal_halt':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:968: undefined reference to `Player_Stop'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x10e4): In function `music_internal_playing':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1085: undefined reference to `Player_Active'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x1254): In function `Mix_SetSynchroValue':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1177: undefined reference to `Player_Active'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x12c0): In function `Mix_GetSynchroValue':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1199: undefined reference to `Player_Active'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x12f8): In function `close_music':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1223: undefined reference to `MikMod_Exit'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x1478): In function `MikMod_LoadSongRW':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1297: undefined reference to `Player_LoadGen eric'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x1568): In function `Mix_LoadMUS_RW':
/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1342: undefined reference to `MikMod_strerro r'
/korea-dokdo/aesoptool/gcc-3.3.4-glibc-2.3.3/arm-linux/arm-linux/lib/libSDL_mixe r.a(music.o)(.text+0x15a0):/SDL/1.2.11/SDL_mixer-1.2.6/music.c:1314: undefined r eference to `MikMod_errno'
collect2: ld returned 1 exit status
bash-3.00#
bash-3.00#





고현철

2007.04.25 19:47:17
*.70.26.87

sound play랑 SDL_mixer랑 큰 연관은 없습니다.

빼서 컴파일 해보세요. SDL_mixer는 mikmod library를 필요로 하기 때문에 이런 문제가 발생하는 것입니다.

한글을 사용하려면 예전에 이제현님이 pds에 올려놓은 자료가 있을겁니다. 그것을 참조하시면 됩니다.

간단하게 말씀드리면 코드체계를 변환한 후 ttf에서 한글을 추출해서 뿌려주면 됩니다.

김증일

2007.04.26 08:20:25
*.120.6.177

답변 감사합니다. 일단 -lSDL_mixer 빼고도 에러가 나더군요.. 그래서 조언 주신 데로
mikmod library가 필요하다고 해서 아래 처럼. "-lmikmod" 만 끝에 추가 했습니다.
컴파일 됩니다.. ㅎㅎ 대단하십니다 !!

arm-linux-g++ -o lesson11 lesson11.cpp `cross-sdl-config --cflags`
> -lSDL -lSDL_image -lSDL_ttf -lSDL_mixer `cross-sdl-config --libs` -lz
> -ljpeg -lpng -lfreetype -lpthread -lmikmod

BUT.. 보드에서는 실행시키면
libmikmod.so.2: cannot open shared object file: No such file or directory
가 뜨면서 실행이 안돼는 군요.. 이론~~
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
5748 [완료] sigc++-1.2 프로그램 받는곳 아시나요? [3] 문철민 2007-04-24 727
» [질문]-lSDL_mixer 옵션 [2] 김증일 2007-04-25 985
5746 크로스 컴파일러 질문입니다. [1] 김유석 2007-04-25 825
5745 [완료]aESOP 가지고 놀기 자료 (aESOP3rd) [2] 윤치호 2007-04-25 875
5744 [완료] paragui 컴파일시 에러메시지입니다. [11] 문철민 2007-04-26 1008
5743 [완료] 한글 보기~~ [2] 김증일 2007-04-26 878
5742 [완료]gulim.ttf 파일 설정 [2] 윤치호 2007-04-26 1483
5741 [완료]-rpath , -rpath-link 질문 드립니다. [9] 김유석 2007-04-27 1430
5740 [완료]DirectFBError [gdk_display_open: GetDisplayLayer]: Requ... [3] 김유석 2007-04-30 980
5739 [완료] libiconv.so 파일이 안생기네요 [7] 김증일 2007-04-30 839
5738 [질문] 2440에서 USB bulk 통신 예제같은것은 어디서 구할수있을까... [2] 성진호 2007-05-01 956
5737 [완료] LCD가 보드와 어떻게 연결이 되는지요. [4] 오주열 2007-05-01 4224
5736 [완료] LCD구입 관련 질문입니다. [2] 박영학 2007-05-02 4265
5735 [완료] SDL+paraGUI 사용법 좀 알려주세요 [3] 문철민 2007-05-02 910
5734 [완료]왕초보 개발자가 카메라부분과 lcd부분에 대해서 질문드립니다... [1] 이재명 2007-05-02 802
5733 [완료] 2440 에서의 MPEG 인코딩 [3] 최경호 2007-05-02 748
5732 [완료] Paragui 예제실행시 에러메시지입니다. [1] 문철민 2007-05-03 733
5731 [질문] 이솝3차 보드에서 SPI를 사용하려고 하는데 몇가지 질문이... [1] 류충렬 2007-05-03 730
5730 [완료]커널 부팅후 SD를 이동식 저장장치처럼 인식할수 있나요? [3] 박기호 2007-05-03 827
5729 [완료] SDL 터치와 ParaGUI에 대한 질문입니다. [1] 문철민 2007-05-03 663

사용자 로그인