加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – g默认头包含列表

发布时间:2020-12-14 01:00:19 所属栏目:Linux 来源:网络整理
导读:在详细模式下在 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/eld
在详细模式下在 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"

结果是第一个系统上的一些代码编译没有在第二个系统上编译,因为找不到某些头文件.

为什么会这样?这份清单来自哪里?谁负责建造它?是否可以轻松改变它?

任何帮助表示赞赏.

解决方法

您可以通过设置环境变量将目录添加到默认搜索路径:

> C_INCLUDE_PATH(用于C头文件)
> CPLUS_INCLUDE_PATH(用于C头文件).

或者,you can create and edit specfile并将它放在G寻找它们的地方.您可以使用strace gcc检查路径.

Additional documentation on specfiles on GCC page.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读