'AppWizard'에 해당되는 글 2건

  1. 2008/05/04 귀차니스트 PSP 개발 AppWizard 1.1 (2)
  2. 2008/05/02 귀차니스트 Psp AppWizard - C++ 컴파일 문제 부분 해결 (2)

PSP 개발 AppWizard 1.1

PSP/PSP-Programming 2008/05/04 12:10 귀차니스트

  http://www.filewiki.net/tc/entry/PSP-개발-AppWizard 여기서 해당 설정방법은 참고를 해주시고, 동일한 방법으로 설치하시면 됩니다.
  변경사항은 저번에 올렸던 AppWizard가 *.cpp, *.c 파일에 대하여 적용이 가능하게 한게 아니라 main.c 혹은 main.cpp 파일에만 컴파일 등록이 되어 있어 수동적으로 바꾸어 주어야하는 면이 존재했던 것을 수정하였습니다. 그리고 기존 main.cpp가 program.cpp 로 바뀌었고, main.cpp / main.h 파일은 싱글톤 인터페이스를 이용한 클래스 Wrapping을 해놓았습니다. Run 함수의 //ToDo : My Work 부분에서 원하는 작업을 추가하시면 될거구요.
  그리고 중요한 것인데 해당 라이브러리에 있어서 종속성 문제가 발생할 수 있습니다. 개발을 하다보면 다음과 같은 라이브러리들이 필요할 수도 있는데요. 알아보자면.

기본 설치시 경로 : C:\devkitPro\devkitPSP\psp\sdk\lib

libpspatrac3.a
libpspaudio.a
libpspaudiocodec.a
libpspaudiolib.a
libpspchnnlsv.a
libpspctrl.a
libpspctrl_driver.a
libpspdebug.a
libpspdebugkb.a
libpspdisplay.a
libpspdisplay_driver.a
libpspfpu.a
libpspgdb.a
libpspgdb_kernel.a
libpspgdb_user.a
libpspge.a
libpspge_driver.a
libpspgu.a
libpspgum.a
libpspgum_vfpu.a
libpsphprm.a
libpsphprm_driver.a
libpspkernel.a
libpsplibc.a
libpspmpeg.a
libpspnand_driver.a
libpspnet.a
libpspnet_adhoc.a
libpspnet_adhocctl.a
libpspnet_adhocmatching.a
libpspnet_apctl.a
libpspnet_inet.a
libpspnet_resolver.a
libpsppaf.a
libpsppower.a
libpsppower_driver.a
libpspprof.a
libpspreg.a
libpspreg_driver.a
libpsprtc.a
libpspsdk.a
libpspsircs.a
libpspumd.a
libpspusb.a
libpspusbbus_driver.a
libpspusbstor.a
libpspusb_driver.a
libpspuser.a
libpsputility.a
libpspvfpu.a
libpspvshbridge.a
libpspwlan.a


  해당 라이브러리의 문제점을 해결하기 위하여 Library 파일에 LIBS를 추가하도록 해놓았습니다. 기본 라이브러리 추가 방법은 만약 libpspnet.a 라이브러리를 참고하고자 할 때에는 -lpspnet 으로 LIBS 에 덧붙여주시면 됩니다.
  그리고 한 가지 유의하셔야 할 점이 기본적으로 -lstdc++ 를 통하여 C++ 지원이 되도록 해놓았는데, 컴파일 옵션을 보면 -fno-exceptions, -fno-rtti를 지정해놓았으므로 Exception인 throw와, typeid를 사용하면 에러가 발생합니다. 이점 유의하시고 개발하시면 될 것 같네요.
  그럼 전 이만 설정은 그만하고 개발 하러 가봐야겠습니다^^.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/05/04 12:10 2008/05/04 12:10
TAG , ,

댓글을 달아 주세요

  1. 개발시작 2008/05/05 21:57  댓글주소  수정/삭제  댓글쓰기

    역시 대단 하십니다 ^^
    전 아직 c 쪽에 대한 너무 무지해서 ..
    글을 올리거나 할수 없는 수준이군요 -0-
    과연 내가 개발자가 맞나 ..

    어찌던 좋은 자료 보았습니다 -
    차후 기본적인 지식이 늘어나면 적용해봐야 겠습니다.
    아직 초보 단계라.. 적용 못해보겠군요 -0-

    전 어찌던 무지 장기간으로 개발을 시작하고 있어서 .
    ( 완전 인생의 취미라고나 할까 ㅋㅋ) ..
    그럼. 수고하세요.

    • 귀차니스트 2008/05/06 13:25  댓글주소  수정/삭제

      대단하긴요.. 설마 그렇겠습니까^^;;
      아직 많이 멀었는데요..
      어젠 sceGumDrawArray 를 이용한 폰트 출력 샘플이 있길래 보고 있는 중인데, 출력 형식이 어떻게 되는지 이해가 잘 되지 않더라구요.
      font.raw 파일이 자동으로 읽혀 출력이 되는건가 하기도 합니다.
      일단 이게 먼저 해결이 되어야 프로그램을 만들 수 있을것 같네요..

  어제 올렸던 Psp AppWizard 부분에서 cpp 파일임에도 불구하고 C++ 문법이 제대로 컴파일 되지 않는 문제가 발생하였습니다. 그 문제는 아래와 같은 구문입니다.

new.cpp (Language : cpp)
  1. /* Exit callback */
  2. int exit_callback(int arg1, int arg2, void *common)
  3. {
  4.     int *b = new int[100];
  5.     delete [] b;
  6.     sceKernelExitGame();
  7.     return 0;
  8. }

  new, delete 가 C++의 기본 문법임에도 불구하고 컴파일이 되지 않더군요. 그 이유는 operator new, operator delete, operator new[], operator delete[]에 해당하는 연산자 정의와 라이브러리의 정보를 찾을 수 없었던 것 때문이었습니다. 그래서 저 같은 경우 C 보다는 C++이 복잡한 프로그램을 짤 때 더 깔끔하고 괜찮다고 생각하기 때문에 C++ 프로그래밍을 위하여 저 문제를 해결해보려고 했습니다.
  그리고 결국 문제점을 찾을 수 있었구요. 일단 해당 문제는 Makefile 에서 종속 라이브러리를 추가할 때 생기는 문제점으로 판명되었습니다. 이거 AppWizard에서 체크 박스로 종속 라이브러리를 선택할 수 있도록 수정을 해야 될지도 모르겠습니다.
  간단하게 시작한 일이 결국 복잡하게 되는군요. 일단 이렇게 저렇게 해서 C++ 구문 컴파일이 되는 것 까지는 확인을 했습니다. 하지만 Class 파일을 생성하여 컴파일하는 쪽에서는 여전히 문제가 발생하는 군요.



  일단 해당 문제를 해결한 다음 Psp AppWizard 1.1 버젼을 만들어서 올려봐야겠습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/05/02 23:46 2008/05/02 23:46

댓글을 달아 주세요

  1. kkamagui 2008/05/03 14:55  댓글주소  수정/삭제  댓글쓰기

    오오~ 만들고나면 제보바란다 ㅋㅋ

    • 귀차니스트 2008/05/03 19:51  댓글주소  수정/삭제

      ㅋㅋ C++ 링크 문제는 대단한게 아니라는 ㅠ_ㅠ 사용자 설정 책임이라서 그렇죵 기본 PSPSDK 에서도 가능 하더라구용.. 라이브러리 링크 ㄷㄷ