使用错误的头交叉编译应用程序和gcc

使用错误的头交叉编译应用程序和gcc,c,linux,gcc,cross-compiling,C,Linux,Gcc,Cross Compiling,我正在尝试使用x86-64 Ubuntu上的工具链对arm7板进行交叉编译。我需要的头文件位于文件系统中: .../include/<libdir1> .../include/<libdir2> [more] .../include/<libdirN> ../include/ …包括/ [更多] …包括/ 但是…/include目录包含不兼容的标准头(原因我无法控制)。使用-I选项会导致gcc使用这些不兼容的标准头,而不是它应该使用的头。在此之前,使用-I

我正在尝试使用x86-64 Ubuntu上的工具链对arm7板进行交叉编译。我需要的头文件位于文件系统中:

.../include/<libdir1>
.../include/<libdir2>
[more]
.../include/<libdirN>
../include/
…包括/
[更多]
…包括/
但是…/include目录包含不兼容的标准头(原因我无法控制)。使用-I选项会导致gcc使用这些不兼容的标准头,而不是它应该使用的头。在此之前,使用-I选项包含所有兼容的标准头路径也不起作用

我希望在本机编译和arm7板编译时使用相同的源路径:

#include <libdir1/lib1.h>
#include <libdir2/lib2.h>
...
#include <libdirN/libN.h>
#包括
#包括
...
#包括
有没有办法使用当前存在的文件系统来实现这一点,或者我需要复制lib1、lib2。。。libN头文件完全位于其他位置?

您可以使用以下选项:

仅在
#include“file”的情况下,将目录dir添加到要搜索头文件的目录列表的头部;它们不会被搜索
#include',否则就像-I一样

因此,您可以使用
样式包含指令来包含自定义标题:

#include "libdir1/lib1.h"
#include "libdir2/lib2.h"
但是带有
样式的标准标题:

#include <stdlib.h>
您可以使用以下选项:

仅在
#include“file”的情况下,将目录dir添加到要搜索头文件的目录列表的头部;它们不会被搜索
#include',否则就像-I一样

因此,您可以使用
样式包含指令来包含自定义标题:

#include "libdir1/lib1.h"
#include "libdir2/lib2.h"
但是带有
样式的标准标题:

#include <stdlib.h>