|

- 帖子
- 441
- 精华
- 6
- P币
- 6050
- 成就
- 49
- 金币
- 540
- PSP版本
- 5.00M33

|
[教程]简述在Cygwin/BSD/MacOSX下建立PSP开发环境@2009-07-26
本帖最后由 maxhoov 于 2009-7-26 20:40 编辑
#不同颜色代表不同操作系统
通用,都适用的。
Cygwin(已经不用这个很长时间了,故叙述多以回忆及早期资料为主,如有错误或遗漏,欢迎指出,吾必改正)
BSD(我用的是NetBSD 3.1。FreeBSD/OpenBSD/Linux用户可将本文作为参考,如有问题,我会尽我所能帮你解答)
MacOSX(MacOSX 10.4.8 on x86-PC/MacOSX 10.5.* on Intel-Mac,Leopard会有一些需要注意的地方,会特别标示出来)
#准备工作
1.下载Cygwin的安装程序(http://www.cygwin.com/setup.exe)到本地。
2.双击安装,选Next,跳过第一页。
3.选Install from Internet(downloaded files will be kept for future re-use)。
4.然后就是选择下载服务器了(按地区划分,建议选择离自己地理位置近的),等待读取下载列表。
5.读取完下载列表之后会让你选择要下载哪些软件包,每个软件包都有4种安装类型(Install - 安装,Reinstall - 重新安装,Uninstall - 卸载/不装,Default - 默认),用鼠标点软件包的名称后面的那个图标就能切换,至少要装gcc,gmake,gpatch,wget,svn,automake,autoconf,autogen,m4,perl什么的(要注意依赖关系,这个的确很烦),Games,GNOME,KDE,Mail,X11什么的就不用装了,选Uninstall(不安装)就行。
6.然后就是静静的等待下载和安装,时间视网络情况而定。
7.安装接近尾声时,会有一些脚本处理,大多时候窗口会没有响应,不要强制关闭它,耐心等它忙完。
8.安装完毕,可以在开始->程序菜单中找到它。
* 可以参考一下《如何安装Cygwin》繁体中文文献(http://www.xbook.com.tw/service/work/Setup_Cygwin.doc),如果链接失效,可以在本贴的下面找到论坛下载链接.
1.安装NetBSD,网上资料众多,这里不再敖述。推荐使用FreeBSD,硬件驱动较多,中文社区也比较成熟,资料丰富。
2.下载最新的pkgsrc(应该是2008Q2了),解压到/usr目录下(tar xzvpf $pkgsrc的文件名 -C /usr)。
3.在安装必备软件包之前,建议安装pkgfind(pkgtools/pkgfind),对于查找软件包在pkgsrc中的位置很有帮助(pkgfind $软件包名称)。安装wget(net/wget),patch(devel/patch),gmake(devel/gmake),automake(devel/automake),autoconf(devel/autoconf),autogen(devel/autogen),svn(devel/subversion-base),安装的方法很简单,进入对应的目录,输入make install clean clean-depends回车即可,前提是要已连接上互连网。
1.Mac用户可以跳过这一步。安装MacOSX 10.4.*/10.5.* for x86-PC,同样资料众多,不再敖述,不过PC装MacOSX for x86-PC,硬件兼容性还是个很大的问题,稳定性也没有十足的保证,建议先在网上查一些相关资料。
2.下载并安装最新版Xcode(http://developer.apple.com/tools/download/),确保gcc(>=4.0.1), gmake(>=3.80), automake(>=1.80), autoconf(>=2.59)等软件都已安装。注:Leopard需要Xcode 3.0。
3.下载并安装最新版svn(http://metissian.com/projects/macosx/subversion/),安装后将
添加到用户目录(Users/$你的用户名)下的.bash_profile里,没有就创建一个。
4.Leopard用户请跳至5。下载并安装最新版fink(http://fink.sourceforge.net/),安装后打开终端,执行. /sw/bin/pathsetup.sh,然后将
添加到用户目录下的.bash_profile中。
5.MacOSX 10.4.*用户请跳过这一步。下载fink的bootstrap版(http://downloads.sourceforge.net/fink/fink-0.29.7.tar.gz), 解压后开一个终端并进入该目录,执行sudo ./bootstrap,如果英文不是很熟,或者对意思拿捏不准,可以一路回车用默认值。安装成功后会提示"You should now have a working Fink installation in ..."。然后再执行. /sw/bin/pathsetup.sh设置环境就行了。也可以选择用MacPorts,在官网(http://www.macports.org/install.php)找到Leopard (Universal)的DMG安装包,下载并安装好.
6.退出并重新开启一个终端,autoconf, automake, bison, flex, gcc, libusb-dev, make, ncurses, patch, readline, subversion, texinfo, wget 在上述这些所需的工具里面找出缺少的,然后通过fink或macports安装好。
一般来说,上述步骤如果都正确执行了的话,gcc/patch/make等工具就应该都有了(后面命令中的参数默认以这种情况为准,缺少或已有的,可以自行变更install后的参数),之后在终端中输入sudo fink -y install wget automake1.9 ncurses readline texinfo libusb libtool libtool14 sdl回车(注:在不同软件环境下,具体参数需求也不相同,Leopard上的fink可能会有一部分没有,没有的这些工具可以参照下面给出的方法手动安装,也可以通过macports互补),会要求输入管理员密码,之后等待安装完成。
手动安装的方法:
进入这个地址(http://pdb.finkproject.org/pdb/index.php?phpLang=en)搜索需要手动安装的包名,在之后的列表里点击,再点开Web Side后的网页,寻找对应版本(在上一个页面中和自己机器MacOSX版本/体系结构相对应的那行),下载源码包(*.tar.gz),然后解压出来。开一个终端,进入解压出的那个目录。执行
./configure
make
sudo make install
7.将添加到PATH中去(在~/.bash_profile里)。注:/sw/bin,/usr/local/bin这两个目录需要注意排序,希望用哪个目录中的工具就将哪个目录提前,/usr/bin等目录亦是如此。
#设置环境变量
将export PSPDEV=/usr/local/pspdev
export PSPSDK=$PSPDEV/psp/sdk
export PATH=$PATH:$PSPDEV/bin:$PSPDEV/psp/bin:$PSPSDK/bin
添加到用户目录下的.bashrc(对应bash)或.profile(对应sh/ksh)中去,MacOSX还是添加到.bash_profile中。
#安装PSPSDK
1.用svn从ps2dev.org的svn服务器上把psptoolchain得下来。具体到命令就是svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain。之后会在当前目录下产生一个psptoolchain目录。然后直接跳到第5步。
2.下载之后放到用户目录(~/或home/$用户名,MacOSX为/Users/$用户名)下。
3.进入用户目录(cd ~/或/home/$用户名或/Users/$用户名)。
4.输入tar xzvf [psptoolchain文件名] 回车,等待解压缩。
5.输入cd psptoolchain 回车。
在终端中执行:
sudo mkdir -p /usr/local/pspdev
sudo chmod a+rwx /usr/local/pspdev
附件中的psptoolchain-osx-patches-for-rev2469.tar.gz是针对rev.2469版psptoolchain的OSX补丁包,以后我会不定期更新。下载后将里面的内容解压到psptoolchain目录下。
在终端中执行:
./patch-osx-toolchain.sh
./toolchain.sh
然后直接跳到第7步。
6.在终端中执行(注:非管理员权限用户请使用toolchain-sudo.sh):
chmod a+x ./toolchain.sh
./toolchain.sh
或者
chmod a+x ./toolchain-sudo.sh
sudo ./toolchain-sudo.sh
7.然后就是漫长的下载与编译(Cygwin所需要的时间比BSD和MacOSX要长很多),这个过程无需手动,如果中途没发生什么异常的话(Error/Faild之类的),就算完事了。
#测试
1.在控制台/终端中,输入psp-gcc -v回车,看看会不会出现Using built-in specs
Target: psp
Configured with: ../configure --prefix=/usr/local/pspdev --target=psp --enable-languages=c,c++ --with-newlib --enable-cxx-flags=-G0
Thread model: single
gcc version 4.1.0 (PSPDEV 20060507)
2.进入任意一个示例目录(在$PSPSDK/samples里随意挑选一个),输入make回车,如果没有错误并成功生成了EBOOT.PBP的话,你的PSPSDK就已经安装成功了。
#安装有用的库
利用svn,我们还可以安装一些比较有用的库,例如zlib,libpng,jpeg等等。
具体方法是进入用户目录,创建一个svn目录(mkdir svn,当然别的目录也可以,重要的是方便用完后清除),然后在当前目录下输入svn co svn://svn.ps2dev.org/psp/trunk/$你需要安装的库的名称 回车,将源代码下载完成之后,按照其内的README.PSP进行安装即可。
列举一些库的简单依赖(安装)顺序:zlib
libpng
jpeg
mikmodlib
列举一些需要autogen的库:
#更新PSPSDK
和安装有用的库一样,我们通过SVN来更新PSPSDK。
在终端下执行svn co svn://svn.ps2dev.org/psp/trunk/pspsdk,或者如果你之前并没有删除掉从SVN得下来的PSPSDK的话,可以在该目录下直接执行svn up来更新你的PSPSDK源代码。更新好源代码之后,重新编译PSPSDK即可。
#其它我认为比较有用的小玩艺儿
1.gvim,这个不用多说了吧。在NetBSD下,它在pkgsrc/editors/vim-gtk2里。在MacOSX下,你可以通过fink得到,也可以在http://macvim.org/OSX/index.php处下载dmg镜像。
2.QuickSilver for MacOSX,如果你对笔记本的触摸板或轨迹杆憎恨不已,又不想加上USB鼠标键盘,它会是个不错的解决方案。
#FAQs
1.我输入"./toolchain.sh"之后出现"ERROR: Please make sure you have GNU 'make' installed.","...'patch'...","...'wget'...","...'subversion (svn)'..."之类的,然后就安装就停止了,这是怎么回事?
>这是因为你并没有安装这些东西。
2.编译时突然停止了,输出了这个"aclocal: configure.ac: 11: macro 'AM_PROG_AS' not found in library",怎么办?
>请确定automake的版本是最新的。
3.如果在编译时出现了如下这种错误
make[4]: *** read jobs pipe: No such file or directory. Stop.
make[4]: *** Waiting for unfinished jobs....
>请确定安装好了gmake 3.81或更高版本,并作为默认make。
4.如果在Configuring过程中出现了不可识别的目标平台'psp'的问题,例如如下这种情况
checking target system type... Invalid configuration 'psp': machine 'psp' not recognized
>很有可能是patch并没有被成功打上。当出现这种错误时,查看一下patch文件是否成了空文件,如果是的话,有可能是在从SVN获取patch的时候,没有获取成功,从而被替换成了空文件。可以通过修改shell的方式,屏蔽掉即时获取patch文件,但要确保正确的patch文件已经存在相应的本地目录下。
5.如果Home/[username]目录里没有,bashrc怎么办?
>可以通过修改Cygwin根目录下的cygwin.bat文件来解决,在bash --login -i上面加入:set PSPDEV=X:/cygwin/usr/local/pspdev
set PSPSDK=X:/cygwin/usr/local/pspdev/psp/sdk
set PATH=%PATH%;%PSPDEV%/bin;%PSPSDK%/bin
6.如果Cygwin一直连接不上服务器怎么办?
>有人反映过一直都连接不上服务器,这个我也碰到过一次,这时就可以用FTP工具下载(我使用的是FileZilla),在Cygwin Mirrors里找个服务器,就可以把release目录下的东西,需要什么就下载到本地,然后用本地安装即可。这是个非常麻烦的方法,万不得已不要去用,建议多试着重新连接几次。
/maxhoov
[ 本帖最后由 maxhoov 于 2008-8-10 12:07 编辑 ] |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
-
1
评分人数
-
|