【发布时间】:2012-06-19 21:11:54
【问题描述】:
在 Linux 机器 (lubuntu 11.10) 中以详细模式使用 cross g++ 执行编译时,我可以看到默认包含头目录的列表:
#include <...> search starts here:
/opt/eldk-4.2/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include
/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/powerpc-linux
/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/backward
/opt/eldk-4.2/usr/../ppc_4xx/usr/include
在另一台 Linux 机器(lubuntu 12.10)中执行相同的 g++ 二进制文件,我得到另一个不同的列表,其中的元素更少:
#include <...> search starts here:
/opt/eldk-4.2/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include
其中一些元素似乎构造不佳,如下所示:
ignoring nonexistent directory "/opt/ppc_4xx/usr/lib/gcc/powerpc-linux/includ../include/c++/4.2.2"
结果是在第一个系统上编译的某些代码在第二个系统上没有编译,因为找不到某些头文件。
为什么会这样?这个列表来自哪里?谁负责建造它?是否可以轻松更改?
感谢任何帮助。
【问题讨论】:
-
以
g++ -v -H运行它,它会告诉你很多...
标签: linux gcc include g++ embedded-linux