有人编译QNX 内核源码成功过吗?

在国外论坛上问了一圈,都是一片抱怨,好多人都说出现的问题太多。
请问哪位编译成功过,给个说明啊

这一页里有怎样下载与编译的说明,照着做不行吗?

http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/wiki/Os_source_guide

严格按照该页的方法做,结果还是失败。。。
不是没找到文件,就是没定义变量
要不就是gcc选项错误

为了证实文档的好坏,我试了一下。〔http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/wiki/BuildTheOSSource〕

照着文档做,还没编译完。但至少目前还没出错。
我在Windows下编译,做的时候也有一些不清楚的地方,试了几次,总结如下:
1.<BUILD_ROOT>是指正确的目录,如E:\community.qnx.com\svn\repos\coreos_pub,里面有trunk,源码在里面。

2.下载hide-gnu.sh到E:\community.qnx.com\svn\repos\coreos_pub目录下,并运行
% ksh hide-gnu.sh E:\community.qnx.com\svn\repos\coreos_pub

3.按文档中方法建立qconf-override.mk文件,也是在E:\community.qnx.com\svn\repos\coreos_pub目录下。内容如下:
USE_INSTALL_ROOT=1
INSTALL_ROOT_nto=E:/community.qnx.com/svn/repos/coreos_pub/stage
VERSION_REL=6.3.0
注意一定要使用“/”换掉Windows的“\”

4.% export QCONF_OVERRIDE=<BUILD_ROOT>/qconf-override.mk
我运行不了,但可直接在我的电脑->环境变量里增加。还是要注意"/"问题。

5.基本没问题了,
% cd <BUILD_ROOT>/trunk
% make OSLIST=nto CPULIST=x86 hinstall
% make OSLIST=nto CPULIST=x86 install

之所以不能用export设置环境变量是因为那根本不是Windows下的指令
在Windows下使用set才行。

兄台继续编啊,我正在用SVN更新代码,估计赶不上你了

另,兄台没有建stage目录啊,估计你最后即使编译成功,也不能说明问题啊

有建stage了,我是按帮助文档一步步走的。
只不过没编完就出错了。内核,一些库等倒是有编出来。
因为网上下载的是随QNX工程师不断更新的。编不过也是有可能的。
只是不知道如何得到一个最新的release版本,我想那样编译应该就没问题,能全部通过。

问题wsforever(http://blog.csdn.net/Delores/archive/2008/09/10/2910011.aspx)有谈到,解决方法如下:
问题3 E:\Delores\QNX_SRC\coreos_pub\trunk\utils\r\rtc编译出错
无法找到头文件:
#include <hw/i2c.h>
看了一下common.mk,发现有下面的路径,联想fondry27上说的,hardware里面都是硬件相关的头文件,公开的源码里没有这个目录。看来是没办法编译rtc了,不过也没啥用。把rtc目录剪切掉继续编译。
EXTRA_INCVPATH = $(PROJECT_ROOT)/…/…/…/lib/util/public
EXTRA_INCVPATH += $(PROJECT_ROOT)/…/…/…/hardware/startup/lib/public
(可惜我不懂这是什么意思,于是我从BSP里随便找了个i2c.h放到D:\QNX640\target\qnx6\usr\include\hw目录下)

(这个我没遇到,因为我照着先做了,哈)
问题4、编译textmode出错
找不到头文件。发现qnx640下根本没有这些东东。只有从632里复制了。
#include <graphics/display.h>
#include <graphics/disputil.h>
#include <graphics/vbios.h>
从E:\QNX632\target\qnx6\usr\include复制graphics目录到E:\QNX640\target\qnx6\usr\include下。
编译textmode通过。

OK,编译完成!!!