使用的系统为Fedora 19,交叉编译工具链在/opt/sparc-rtems4.10/bin里面,针对一款sparc v8芯片编译的rtems4.10系统在/opt/rtems/sparc-rtems4.10/leon2目录下,环境变量都已正常添加
自己编写的源代码irq_test.c中包含有几个头文件:
#include <stdio.h>
#include <stdlib.h>
#include <rtems.h>
#include <rtems/irq.h>
stdio.h、stdlib.h均在/usr/include下
rtems.h、rtems/irq.h均在/opt/rtems/sparc-rtems4.10/leon2/lib/include下
在使用命令sparc-rtems-gcc编译源代码时,提示 rtems.h:No such file or directory;
rtems/irq.h:No such file or directory;
.......
然后,我把 #include <rtems.h>改为#include “rtems.h”,结果没提示 rtems.h:No such file or directory;但是,却钻到rtems.h头文件中,对其中声明包含的一系列头文件都提示了No such file or directory的问题。
仔细思考,No such file or directory应该是说编译器无法找到相应的头文件,但是使用make直接编译时却没问题。
这究竟是怎么回事?
难道编译器只在源代码所在目录或者/usr/include 目录下查找头文件?
那我尝试把rtems.h复制到/usr/include下,再次编译还是同样的问题。
请问究竟应该怎么解决这个gcc 的问题?
在此拜谢各位大侠了!
|