[教程]简述在Cygwin/BSD/MacOSX下建立PSP开发环境

来源:百度文库 编辑:神马文学网 时间:2024/04/26 20:13:05
[b]#不同颜色代表不同操作系统[/b]
通用,都适用的。
[color=Green]Cygwin(已经不用这个很长时间了,故叙述多以回忆及早期资料为主,如有错误或遗漏,欢迎指出,吾必改正)[/color]
[color=Blue]BSD(我用的是NetBSD 3.1。FreeBSD用户可将本文作为参考,如有问题,我会尽我所能帮你解答)[/color]
[color=Magenta]MacOSX(MacOSX 10.4.8 on Intel-PC/MacOSX 10.5.1 on Intel-Mac,Leopard会有一些需要注意的地方,会特别标示出来)[/color]
[b]#准备工作[/b]
[color=Green]1.下载Cygwin的安装程序([url]http://www.cygwin.com/setup.exe[/url])到本地。
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》繁体中文文献([url]http://www.xbook.com.tw/service/work/Setup_Cygwin.doc[/url]),如果链接失效,可以在本贴的下面找到论坛下载链接.[/color]
[color=Blue]1.安装NetBSD,网上资料众多,这里不再敖述。推荐使用FreeBSD,硬件驱动较多,中文社区也比较成熟,资料丰富。
2.下载最新的pkgsrc(应该是2007Q4了),解压到/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回车即可。[/color]
[color=Magenta]1.Mac用户可以跳过这一步。安装MacOSX 10.4.*/10.5.* for Intel-PC,同样资料众多,不再敖述,不过PC装MacOSX for Intel-PC,硬件兼容性还是个很大的问题,稳定性也没有十足的保证,建议先在网上查一些相关资料。
2.下载并安装最新版Xcode([url]http://developer.apple.com/tools/download/[/url]),确保gcc(>=4.0.1), gmake(>=3.80), automake(>=1.80), autoconf(>=2.59)等软件都已安装。注:Leopard需要Xcode 3.0。
3.下载并安装最新版svn([url]http://metissian.com/projects/macosx/subversion/[/url]),安装后将
[quote]/usr/local/bin[/quote]
添加到用户目录(Users/$你的用户名)下的.bash_profile里,没有就创建一个。
4.Leopard用户请跳至5。下载并安装最新版fink([url]http://fink.sourceforge.net/[/url]),安装后打开终端,执行. /sw/bin/pathsetup.sh,然后将
[quote]. /sw/bin/init.sh[/quote]
添加到用户目录下的.bash_profile中。
5.MacOSX 10.4.*用户请跳过这一步。下载fink的bootstrap版([url]http://downloads.sourceforge.net/fink/fink-0.27.8.tar.gz[/url]), 解压后开一个终端并进入该目录,执行sudo ./bootstrap,如果英文不是很熟,或者对意思拿捏不准,可以一路回车用默认值。安装成功后会提示"You should now have a working Fink installation in ..."。然后再执行. /sw/bin/pathsetup.sh设置环境就行了。
6.退出并重新开启一个终端,[quote]autoconf, automake, bison, flex, gcc, libusb-dev, make, ncurses, patch, readline, subversion, texinfo, wget[/quote]在上述这些所需的工具里面找出缺少的,然后通过fink安装好。
一般来说,上述步骤如果都正确执行了的话,gcc/patch/make等工具就应该都有了(后面命令中的参数默认以这种情况为准,缺少或已有的,可以自行变更install后的参数),之后在终端中输入sudo fink -y install wget automake1.9 ncurses readline texinfo libusb libtool libtool14 sdl回车(注:Leopard上的fink可能会有一部分没有,没有的这些工具可以参照下面给出的方法手动安装),会要求输入管理员密码,之后等待安装完成。
手动安装的方法:
进入这个地址([url]http://pdb.finkproject.org/pdb/index.php?phpLang=en[/url])搜索需要手动安装的包名,在之后的列表里点击,再点开Web Side后的网页,寻找对应版本(在上一个页面中和自己机器MacOSX版本/体系结构相对应的那行),下载源码包(*.tar.gz),然后解压出来。开一个终端,进入解压出的那个目录。执行
[quote]./configure
make
sudo make install[/quote]
7.将[quote]/usr/local/bin[/quote]添加到PATH中去(在~/.bash_profile里)。注:/sw/bin,/usr/local/bin这两个目录需要注意排序,希望用哪个目录中的工具就将哪个目录提前,/usr/bin等目录亦是如此。[/color]
[b]#设置环境变量[/b]
将[quote]
export PSPDEV=/usr/local/pspdev
export PSPSDK=$PSPDEV/psp/sdk
export PATH=$PATH:$PSPDEV/bin:$PSPDEV/psp/bin:$PSPSDK/bin
[/quote]
添加到用户目录下的.bashrc(对应bash)或.profile(对应sh/ksh)中去,[color=Magenta]MacOSX还是添加到.bash_profile中[/color]。
[b]#安装PSPSDK[/b]
1.有两种方式可以得到psptoolchain。
第一种:到[url]http://ps2dev.org/psp/Tools/Toolchain[/url]找到psptoolchain的安装配置脚本,如果没有的话,或是想用最新的SVN版本,可以到置顶的[分享]PSP自制软件所需/推荐工具集中找到。
第二种:用svn从ps2dev.org的svn服务器上得下来。具体到命令就是svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain。之后会在当前目录下产生一个psptoolchain目录。然后直接跳到第5步。
2.下载之后放到用户目录(~/或home/$用户名,[color=Magenta]MacOSX为/Users/$用户名[/color])下。
3.进入用户目录(cd ~/或/home/$用户名或[color=Magenta]/Users/$用户名[/color])。
4.输入tar xzvf [psptoolchain文件名] 回车,等待解压缩。
5.输入cd psptoolchain 回车。[color=Magenta]
在终端中执行:
[quote]
sudo mkdir -p /usr/local/pspdev
sudo chmod a+rwx /usr/local/pspdev
[/quote]
下载附件中的psptoolchain-osx-patches.tar.bz2(是个老外做的,在此标示感谢)。将里面的内容解压到psptoolchain目录下。
在终端中执行:
[quote]
./patch-osx-toolchain.sh
./toolchain.sh
[/quote]
然后直接跳到第7步。
[/color]
6.在终端中执行(注:非管理员权限用户请使用toolchain-sudo.sh):
[quote]
chmod a+x ./toolchain.sh
./toolchain.sh
[/quote]
或者
[quote]
chmod a+x ./toolchain-sudo.sh
sudo ./toolchain-sudo.sh
[/quote]
7.然后就是漫长的下载与编译(Cygwin所需要的时间比BSD和MacOSX要长很多),这个过程无需手动,如果中途没发生什么异常的话(Error/Faild之类的),就算完事了。
[b]#测试[/b]
1.在控制台/终端中,输入psp-gcc -v回车,看看会不会出现[quote]
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)[/quote]
2.进入任意一个示例目录(在$PSPSDK/samples里随意挑选一个),输入make回车,如果没有错误并成功生成了EBOOT.PBP的话,你的PSPSDK就已经安装成功了。
[b]#安装有用的库[/b]
利用svn,我们还可以安装一些比较有用的库,例如zlib,libpng,jpeg等等。
具体方法是进入用户目录,创建一个svn目录(mkdir svn,当然别的目录也可以,重要的是方便用完后清除),然后在当前目录下输入svn co svn://svn.ps2dev.org/psp/trunk/$你需要安装的库的名称 回车,将源代码下载完成之后,按照其内的README.PSP进行安装即可。
列举一些库的简单依赖(安装)顺序:[quote]
zlib
libpng
jpeg
mikmodlib
[/quote]
列举一些需要autogen的库:[quote]
libogg
freetype
[/quote]
[b]#更新PSPSDK[/b]
和安装有用的库一样,我们通过SVN来更新PSPSDK。
在终端下执行svn co svn://svn.ps2dev.org/psp/trunk/pspsdk,或者如果你之前并没有删除掉从SVN得下来的PSPSDK的话,可以在该目录下直接执行svn up来更新你的PSPSDK源代码。更新好源代码之后,重新编译PSPSDK即可。
[b]#其它我认为比较有用的小玩艺儿[/b]
1.gvim,这个不用多说了吧。[color=Blue]在NetBSD下,它在pkgsrc/editors/vim-gtk2里。[/color][color=Magenta]在MacOSX下,你可以通过fink得到,也可以在[url]http://macvim.org/OSX/index.php[/url]处下载dmg镜像。[/color]
[color=Magenta]2.QuickSilver for MacOSX,如果你对笔记本的触摸板或轨迹杆憎恨不已,又不想加上USB鼠标键盘,它会是个不错的解决方案。[/color]
[b]#FAQs[/b]
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.如果在编译时出现了如下这种错误
[quote]make[4]: *** read jobs pipe: No such file or directory.  Stop.
make[4]: *** Waiting for unfinished jobs....[/quote]
>请确定安装好了gmake 3.81或更高版本,并作为默认make。
4.如果在Configuring过程中出现了不可识别的目标平台‘psp‘的问题,例如如下这种情况
[quote]checking target system type... Invalid configuration ‘psp‘: machine ‘psp‘ not recognized[/quote]
>很有可能是patch并没有被成功打上。当出现这种错误时,查看一下patch文件是否成了空文件,如果是的话,有可能是在从SVN获取patch的时候,没有获取成功,从而被替换成了空文件。可以通过修改shell的方式,屏蔽掉即时获取patch文件,但要确保正确的patch文件已经存在相应的本地目录下。
[color=Green]5.如果Home/[username]目录里没有,bashrc怎么办?
>可以通过修改Cygwin根目录下的cygwin.bat文件来解决,在bash --login -i上面加入:[quote]
set PSPDEV=X:/cygwin/usr/local/pspdev
set PSPSDK=X:/cygwin/usr/local/pspdev/psp/sdk
set PATH=%PATH%;%PSPDEV%/bin;%PSPSDK%/bin[/quote]
6.如果Cygwin一直连接不上服务器怎么办?
>有人反映过一直都连接不上服务器,这个我也碰到过一次,这时就可以用FTP工具下载(我使用的是FileZilla),在Cygwin Mirrors里找个服务器,就可以把release目录下的东西,需要什么就下载到本地,然后用本地安装即可。这是个非常麻烦的方法,万不得已不要去用,建议多试着重新连接几次。[/color]
/maxhoov