现在的位置: 首页 > 综合 > 正文

如何在QNX下编译源码

2013年01月30日 ⁄ 综合 ⁄ 共 1662字 ⁄ 字号 评论关闭

如何在QNX下编译源码  

2009-03-17 15:01:33|  分类: QNX笔记|字号 订阅

1.<BUILD_ROOT>是指正确的目录,如E:\community.qnx.com\svn\repos\coreos_pub,里面有trunk,源码在里面。 

2.如果不是在Neutrino self-hosted下运行( then you will need to tell the build process to ignore the content of the GNU configure style source modules.) 运行此命令,大概运行几分钟。(hide-gnu.sh可下载)

% ksh hide-gnu.sh <BUILD_ROOT> 

3.创建目录(Create a staging directory for installed binaries and headers to go )

% cd <BUILD_ROOT> 

% mkdir stage 

4.按文档中方法建立qconf-override.mk文件,也是在<BUILD_ROOT>目录下。内容如下: 

USE_INSTALL_ROOT=1 

INSTALL_ROOT_nto=<BUILD_ROOT>/stage 

VERSION_REL=6.3.0 

注意一定要使用“/”换掉Windows的“\” 

5.% export QCONF_OVERRIDE=<BUILD_ROOT>/qconf-override.mk 

Windows下用set替代export.也可直接在我的电脑->环境变量里增加。还是要注意"/"问题。 

6.基本没问题了,

内核:

% cd <BUILD_ROOT>/trunk 

% make OSLIST=nto CPULIST=x86 hinstall 

% make OSLIST=nto CPULIST=x86 install

网络:

% cd <BUILD_ROOT>/tags/6.4.0/GA
% make CPULIST=x86 install

or:
% cd <BUILD_ROOT>/trunk
% make CPULIST=ppc install

等等



---------------------------------------------------------------------


问题: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目录下) 

-----------------------------------------------------------------------------------

(这个我没遇到,因为我照着先做了,哈) 

问题:编译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通过。

抱歉!评论已关闭.