我在Windows 7 32位上使用eclipse Indigo和基于ARM交叉编译工具链的工具链,该工具链的版本为glibc-2.9 gcc-4.3.4。我的项目目前是 C 语言,但如有必要,我愿意随时将其更改为 C++;您可能想知道的配置如下。
在项目属性的">C/C++ build->settings"部分中,我在命令框中为"GCC C 编译器"和">GCC C 链接器"和">GCC 汇编器"提供了路径"/cygdrive/c/glibc-oabi-toolchain-arm-generic/bin/arm-unknown-linux-gnu-gcc
",并为编译器和链接器设置了一些杂项参数。然后在">C/C++构建>工具链编辑器"部分中,">当前生成器"设置为"Gnu Make Builder
",">当前工具链"设置为"Linux GCC
"。
现在的问题是我似乎无法正确设置其他包含路径,因为尽管我在">C/C++ build->settings->GCC C 编译器->包含"部分中添加了类似" c:sdkinclude
"的路径,并且该路径中有一个类似"stdio.h"的标头,但我遇到了以下错误
unresolved inclusion:<stdio.h>
对于以下代码行
#include <stdio.h>;
最后,如果它可能有任何帮助,我为编译器设置的杂项参数是"-Wundef -Wstrict-prototypes -Werror-implicit-function-declaration-wdeclaration-after-statement-fsigned-char -marm -mapcs -march=armv5te -mtune=arm9tdmi -mno-sched-prolog -mabi=apcs-gnu -mlittle-endian -mno-thumb-interwork -msoft-float -c"和链接器是">-marm -mapcs -march=armv5te -mtune=arm9tdmi -mno-sched-prolog -mabi=apcs-gnu -mlittle-endian -mno-thumb-interwork -msoft-float -wl,-map,"${PWD}/${ProjName}.map".
任何关于问题原因的建议,非常感谢。
你需要告诉 Eclipse 编译器的包含目录在哪里。 我认为这就是你的做法:
在">项目"菜单中,选择"属性"。在">C/C++常规>路径和符号>包含"下,单击">添加..."按钮。输入编译器包含目录的完整路径(带有 stdio.h 的目录(。选中"添加到所有语言"框,然后单击确定。这将允许 Eclipse 找到编译器提供的标头,例如 stdio.h,这将减少您看到的警告数量。