そのため、この記事では、CおよびC ++プログラミング言語でPSPの開発環境を設定し、最も単純な古典的なHello worldプログラムを作成する方法について説明します。
最初に持っているもの:
1. Ubuntu 9.04ディストリビューション
2.インターネットアクセス(PSPプログラムの開発に必要なライブラリのソースコードをダウンロードする必要があります)
3. 3〜4時間程度の空き時間(ライブラリはソースコードから収集されるため、コンパイルには数時間かかります)
最初に行う必要があるのは、Subversionのインストールです。
sudo aptitude install subversion
これで、最新のpsptoolchain(PSPのクロスコンパイラ)ソースコードを入手できます。
svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain
作成されたフォルダーには、すべてのユーザー、特にUbuntuディストリビューション用のreadmeファイルがあります(cyspwinと同様に、psptoolchainは任意のLinuxディストリビューションでビルドできることに注意してください)。 Ubuntuディストリビューションのreadmeファイルには、psptoolchainを構築するには、次のコマンドを使用して依存関係を満たす必要があると書かれています。
sudo apt-get install build-essential autoconf automake bison flex \
libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev \
libmpfr-devサブバージョンgcc-4.2
これを行います。 その後、いくつかの環境変数を定義する必要があります。 〜/ .bashrcファイルに次の行を追加します。
export PSPDEV = "/ usr / local / pspdev"
export PSPSDK = "$ PSPDEV / psp / sdk"
export PATH = "$ PATH:$ PSPDEV / bin:$ PSPSDK / bin"
コマンドを実行します:
ソース〜/ .bashrc
これで、開発環境の構築に直接進むことができます。
cd psptoolchain
sudo ./toolchain-sudo.sh
その後、開発用の追加ライブラリ(zlib、SDLなど)を取得する必要があります。 これを行うには、最初に次のコマンドを使用してSVNからスクリプトのセットを取得します。
svn co svn://svn.ps2dev.org/psp/trunk/psplibraries psplibraries
残念ながら、追加のライブラリをインストールするためのスクリプトにエラーがあります。修正するには、psplibraries / scripts / 003-freetype.shファイルを開き、その内容を次のテキストに置き換えます。
#!/ bin / sh
#Dan Peori(danpeori@oopo.net)によるfreetype.sh
##最新のソースコードをダウンロードします。
テストするなら! -d "freetype"; それから
svn checkout svn://svn.ps2dev.org/psp/trunk/freetype || {出口1; }
他に
svn update freetype || {出口1; }
fi
##ソースディレクトリを入力します。
cd freetype || {出口1; }
cd builds / unix
automake --add-missing
cd .. / ...
##ソースをブートストラップします。
sh autogen.sh || {出口1; }
##ビルドを構成します。
LDFLAGS = "-L $(psp-config --pspsdk-path)/ lib -lc -lpspuser" ./configure --host psp --prefix = $(psp-config --psp-prefix)|| {出口1; }
##コンパイルしてインストールします。
make clean && make -j2 && make install && make clean || {出口1; }
その後、1つの依存関係をインストールします。
sudo aptitude install libtool
ライブラリのコンパイルを開始します。
sudo ./libraries-sudo.sh
これらの詐欺の後、CおよびC ++でPSP用のプログラムを開発するためのクロスコンパイラとライブラリのセットがあります。 最初のプログラムを書きましょう。
#include <pspkernel.h> #include <pspdebug.h> PSP_MODULE_INFO( "Hello World"、0、1、1); #define printf pspDebugScreenPrintf / *コールバックを終了* / int exit_callback(int arg1、int arg2、void * common){ sceKernelExitGame(); 0を返します。 } / *コールバックスレッド* / int CallbackThread(SceSize args、void * argp){ int cbid; cbid = sceKernelCreateCallback( "Exit Callback"、exit_callback、NULL); sceKernelRegisterExitCallback(cbid); sceKernelSleepThreadCB(); 0を返します。 } / *コールバックスレッドを設定し、そのスレッドIDを返します* / int SetupCallbacks(void){ int thid = 0; thid = sceKernelCreateThread( "update_thread"、CallbackThread、0x11、0xFA0、0、0); if(thid> = 0){ sceKernelStartThread(thid、0、0); } 戻ります; } int main(){ pspDebugScreenInit(); SetupCallbacks(); printf( "Hello World"); sceKernelSleepThread(); 0を返します。 }
したがって、マクロPSP_MODULE_INFOを使用して、プログラムとそのバージョンに関する情報を定義し、その後、いくつかの標準コールバックを定義し、それに応じて、プログラムmainのメイン関数を定義します。
ここで、Makefileを作成してコードをビルドします。
ターゲット=こんにちは
OBJS = main.o
CFLAGS = -O2 -G0-壁
CXXFLAGS = $(CFLAGS)-fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hello world
PSPSDK = $(シェルpsp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
makeコマンドでプログラムをコンパイルします。 結果のEBOOT.PBPファイルは、コンソールのpsp / game / helloフォルダーに配置されます。 以上です。 次の記事では、キーストロークを制御する方法を見ていきます。
私の記事のオリジナル: linux.vsevteme.ru/posts/show?id=9059