Linux 的魅力: 开发 Nokia N800
牺牲一顿早餐为代价获得一台足够强大的 x86 机器(而 Linux 可免费下载).我的主机平台是 Kubuntu,但是似乎没有关系;我也使用 SuSE 实现过,我认为 maemo 网站上的人喜欢简单的 Debian. Maemo 安装说明就足够了.先安装 scratchbox.使用提供的安装程序即可,尽管它的默认行为(即删除已经下载的所有文件以再次下载)不可理喻(也可以手动安装,但是我认为不必如此). 安装 Scratchbox 需要 root 访问权限,但是安装完之后使用 scratchbox 时不必拥有 root 访问权限.如果您使用提供的 maemo scratchbox 安装程序,则只需作为 root 用户使用您的用户名运行 然后再也不需要 root 访问权限.实际上,maemo SDK 安装程序(我使用的是 maemo-sdk-install_3.1.sh;新近的 3.2 更新是从 SDK 内部更新的)将不会作为 root 用户运行,只需拥有 scratchbox 访问的常规用户即可.系统管理员的负担减轻了. 实际上,我发现拥有在不必要的情况下不需要 root 权限的安装程序非常方便.在运行 maemo 安装程序之前,不必实际设置目标;请忽略警告您先运行 sb-menu 的消息(如果转移注意力,可能会在安装程序继续运行时错过它们).特别感谢 Freenode 的 #maemo 频道的朋友,他们让我确信该错误消息是无害的. 如果您以前从未使用过 scratchbox,则需要简要的介绍.历史上,交叉编译带来了许多挑战.最著名的是难以在目标环境中运行测试程序以及类似程序,如果它与主机环境不同,配置起来相当麻烦. Scratchbox 以尽可能直接的方式解决了这个问题:在使用 CPU ****的本地环境中运行本地二进制文件.假设我的主机 CPU 速度大约是目标 CPU 速度的 8 倍,那么这是相当好的解决方案;节省开发时间能带来令人难以置信的好处.这是典型的技术进步例子:可以简单地忽略曾经难以克服的障碍. Scratchbox 允许您拥有多个构建环境,您可以在其中搭配使用目标和主机二进制文件.如果在 x86 处理器上使用 ARM scratchbox,ARM 二进制文件就能神奇地进行工作,而 “cc” 创建 ARM 二进制文件.这相当酷.Nokia 可能通过该设备和其他类似的设备为其开发****基金. 顺便提一下,如果过了一会儿您只收到晦涩的消息 “Scratchbox is not properly set up!”,那么可能需要启动它.请作为 root 用户,运行 如果在尝试停止系统之前,没有运行 另一个常见的意外情况是 apt-get 在 scratchbox 中运行失败,不能解析 repository.maemo.org.要改正这个问题,请编辑 /scratchbox/etc/nsswitch.conf 并确保 “hosts:” 行中为 “dns”,而不是 “mdns”(注意这不同于 scratchbox 环境中的 nsswitch.conf). 熟悉的情形:实现 “hello, world!” 程序 第一步总是实现 “hello, world!” 程序.这不难,但是开始之前,选择一个目标.目标是一组相对于特定设备(N800)的设置和工具.对于典型的 scratchbox 环境,创建一个目标.Maemo 设置实际上创建了一对目标,顺理成章地命名为 SDK_X86 和 SDK_ARMEL.可以使用 现在,分析代码:
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |