在C

时间:2018-09-06 08:26:13

标签: c sdk cross-compiling

我正在交叉编译需要特定标题的源文件。 此标头是SDK的一部分;它存在于我的sysroot中。标头的完整路径如下:

/pathtosysroot/sysroot/usr/include/some/nasty/long/path/header.h

即使我使用--sysroot=/pathtosysroot/sysroot标志调用gcc,我仍然必须考虑some/nasty/long/path部分以正确包含文件。

话虽这么说,C中是否有约定使用以下两个选项之一来到达我的.c文件中的此标头?

1-在#include中指定sysroot顶级include目录中的标头路径,这样它将从sysroot路径中找到标头:

#include <some/nasty/long/path/header.h>

2-在gcc包含标志中指定完整路径,仅#include头文件名:

gcc -I /pathtosysroot/sysroot/usr/include/some/nasty/long/path ...

在文件中:

#include <header.h>

作为一个补充说明,我希望使用第一个注释,因为很明显,此标头属于我要交叉编译的平台/ SDK。但是我经常看到第二种替代方法也被使用。

0 个答案:

没有答案