커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
971
1,317
3,878
3,584,031
  현재접속자 : 67 (회원 0)






배너 신청 문의

 
작성일 : 07-01-31 16:11
Power-pc에서 freetype 폰트 사용시...
 글쓴이 : 화음이
조회 : 13,677  
안녕하십니까?

 SDL을 이용하여 ttf 폰트를 사용하는데 문제가 생겨 질문을 드립니다.

 개발 환경은 아래와 같습니다.

 CPU: 405EP (Power-PC)
 Kernel: 2.6.14
 Video: tvia-5202
 SDL: v1.2.11
 freetype: v2.1.10
 SDL ttf: v2.0.8

 그림 파일이나 다른 I/O 처리는 SDL 상에서 잘 돌아가는데 TTF 쪽이 문제가 있습니다.

 크로스 컴파일을 마치고 라이브러리와 어플리케이션을 Target에 옮긴 후 실행을 하면 TTF_Init() 함수에서 Segmentation fault 가 발생하며 죽습니다.

 예상에는 PPC를 사용하면서 endian 모드 때문에 그런것이 아닌가 싶은데 정확히 잘 모르겠습니다.

 TTF 쪽에는 특별히 endian 쪽 dependent 한 부분이 없는 거 같은데 혹시 뭔가 있는지 궁금합니다.

 참고로 SDL_image 를 사용하면서 ENDIAN 모드 때문에 고생을 하긴 했습니다.

 SDL_endian.h 라는 헤더 파일에 SDL_BYTEORDER 를 결정하는 부분이 있는데 defined(__ppc__) || defined(__POWERPC__) 이 조건에 만족하면 BIG endian 으로 동작하도록 되어 있더군요.

 그런데 계속 little endian으로 작동을 하여 제가 IMG_xx.c 소스들에서 강제로 BIG endian으로 동작하도록 define을 해버렸습니다.

 그랬더니 이미지 색깔이 제대로 나오더군요. ( 24bit 이미지를 사용하는데 endian 모드에 따라 RGB의 R과 B가 바뀌더군요. 다행히도 이미지 헤더 정보는 BYTE 단위로 처리하여 문제없이 로딩이 되더군요.)

 혹시나 폰트도 이런 문제가 있는 것이 아닌지 궁금합니다.

 조언을 구합니다.

  P.S> 당연한 이야기이겠지만 참고로 Host PC에서는 똑같은 프로그램으로 문제없이 잘 동작합니다.



korone 07-02-02 16:12
 
혹시 cross compile할때 어떻게 하셨는지요?
저도 똑같은 CPU에 똑같은 방법으로 SDL_ttf를 올렸는데 아무 이상없었거든요.
화음이 07-02-03 12:38
 
제가 SDL_ttf 쪽의 소스를 수정하다 어느 부분인지 모르지만 실수를 한듯 합니다... ㅡ.ㅡ

다시 SDL_ttf를 받아 설치하고 하니까 잘 되네요...
 
   
 


About korone.net | Copyright 2003 korone.net. All rights reserved.