如何在QNX下编译源码

如何在QNX下编译源码  

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

1.是指正确的目录,如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  

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

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

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

6.基本没问题了,

内核:
% cd /trunk 
% make OSLIST=nto CPULIST=x86 hinstall 
% make OSLIST=nto CPULIST=x86 install

网络:
% cd /tags/6.4.0/GA
% make CPULIST=x86 install

or:
% cd /trunk
% make CPULIST=ppc install

等等


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

问题:E:\Delores\QNX_SRC\coreos_pub\trunk\utils\r\rtc编译出错 
无法找到头文件: 
#include  
看了一下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  
#include  
#include  
从E:\QNX632\target\qnx6\usr\include复制graphics目录到E:\QNX640\target\qnx6\usr\include下。 
编译textmode通过。

你可能感兴趣的:(QNX)