微软DS开发套件-在VC2005中集成NDS编译环境

  一直以来,我们所使用的NDS开发环境都是Windows下模拟Unix的编译环境。比如Msys,MinGW等等。这样的编译环境让时间整整倒转20年,回到了Unix时代。一切都由命令行来完成,复杂的编译工程不得不由Makefile来组织。没有带有语法提示的编辑工具,没有友好的集成环境,没有迅速简洁的除错机制。
前些天我在PAlib的论坛上看到了VC2005集成编译的办法。但是整个实现还是基于Makefile的。由于VC的NMake格式和GNU的Make格式有很大的不同导致了整个集成具有一定的难度。目前的情况是这样的:如果采用Make必须模拟Unix的Shell。如果采用NMake必须熟悉整个编译过程的每一个细节,把Make翻译为NMake。
  经过十余天的摸索,我另辟蹊径让DS编译器和VC2005完美的集成到了一起。整个实现还得依靠VC2005强大的功能。VC2005在对于不同格式的源文件可以采用自定义的命令进行编译。于是我就针对libnds中所有的源代码进行了一次配置。分别设计了针对arm7和arm9,针对DS应用程序和DS库文件的编译规则。实现了完全利用vcproj解决方案的DS编译过程和VC2005的完美集成。不再需要任何佶屈聱牙的Makefile,不再需要不灵活的文件夹设置,不再需要外部编辑工具,只需要VC2005一个集成环境就可以了。我们久违的编译环境又回来了!

一 编译器和库
首先介绍一个网站http://www.sourceforge.net/。这里可以下载到DS开发需要的所有工具。编译器是基于GNU的Arm编译器。它是devkitPro的一个组成部分。
第一步:安装devkitArm(r20)。(建议安装到D:/devkitPro/devkitARM)解压即可完成,非常方便。
第二步:安装PALib。同样解压即可,把libnds安装到D:/devkitPro/libnds,把PALib安装到D:/devkitPro/palib。
第三步:安装模拟器和其他工具。PALib自带的模拟器安装到D:/devkitPro/Emulators。同样其他工具可以一同安装到D:/devkitPro目录下。
整个安装过程的目的就是保证整个开发环境的所有东西都安装到D:/devkitPro下,就好像我们在安装VS2005的时候会选定一个根目录一样。

二 环境变量
set DEVKITARM=D:/DevkitPro/devkitARM
set LIBNDS=D:/DevkitPro/libnds
我用批处理的方式写大家应该看得明白吧。建议直接配置为操作系统的环境变量。

三 小工具
从这里下载三个小工具,安装到D:/devkitPro/tools。补充说明一下:这几个工具是由C#编写的使用了Framework2.0。既然你已经使用了VS2005就一定安装了Framework2.0吧。所以都能正常运行。小工具是为了完成这次集成所必须的辅助工具。

四 VC中的配置
第一步
:增加Path路径。工具->选项 然后在树型导航中选择 项目和解决方案->VC++目录 增加“可执行文件”路径,分别把D:/DevkitPro/devkitARM/bin D:/DevkitPro/Emulators D:/DevkitPro/tools增加进去。
第二步:增加Include路径。用同样的方法增加“包含文件”路径,分别把D:/DevkitPro/devkitARM/arm-eabi/include D:/DevkitPro/libnds/include $(SolutionDir)include增加进去。注意前两个Include路径必须位于最开始用“上”箭头调整次序。
第三步:在这里 下载三个自定义规则文件释放到D:/DevkitPro目录。用类似的方法修改“VC++项目设置”的规则文件搜索路径属性为D:/DevkitPro。

五 VC工程的新建步骤
第一步
:确定解决方案的名称和类型 假设名称为DSApp 是DS应用程序
第二步:新建名为DSApp的VC++ 常规 空项目解决方案名称和项目名称都填DSApp
第三步:向DSApp这个解决方案中添加DSApp7 DSApp9这样两个空项目。这样我们一共有了一个解决方案,三个项目。如果只要求生成DS库文件那就只需DSLib7 DSLib9两个项目。

第四步:为每个项目配置各自的自定义生成规则文件。

第五步:修改自定义生成顺序。




第六步:修改项目属性,进行第一次编译并为工程添加manifest文件



第七步:添加源文件和头文件进入开发。
  至此,一个DS工程就完成了虽然做不到一键完成但我们可以把刚才的解决方案作为简化“模板”来使用。接下来你就可以体验全新的开发乐趣了从代码编写到调试运行只需一个按钮。

六 两个模板
从这里下载DSApp DSLib两个模板分别是编译DS应用程序和DS库文件的事例解决方案模板。使用时只需用VS集成环境打开并修改名称就可以使用了。

七 让我们做得更好
由于我对VS2005的了解还不够透彻,暂时对模板的制作缺乏经验。没有能做出向导式的工程模板。不知道那位高手能替我完成这一步,让我们做得更好。

    整个集成过程也是我对编译工程演化的一次亲身体验。从最初的单文件编译到Makefile时代再到以VisualStudio为代表的IDE时代无不体现了人们对编译要求的一次次提高。现在在SourceForge上所发展的编译工程仍有非常多个如大名鼎鼎的Ant还有各种不知名的make工具(在Unix下特多毕竟没有界面)。也许这也将是我最后一次怀有这么大的热情来解读Makefile。这将是好事,时间的步伐永不停息,我们没有太多的时间在复杂而又对开发没有贡献的技术上停留。把程序员从复杂的编译环境中解放出来,放眼于程序设计,创造出更多更好用的DS程序。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值