免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6558 | 回复: 8
打印 上一主题 下一主题

怎样扩展编译器默认的INCLUDE路径 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-05 12:06 |只看该作者 |倒序浏览
如果头文件不在默认的路径下,我们可以用-I ***来增加编译器的搜索路径, 是不是在什么地方配置一下要增加的搜索路径就可以免去-I ***, 而像使用标准的头文件一样使用自己新增的头文件呢? 谢谢.

论坛徽章:
0
2 [报告]
发表于 2006-02-05 12:17 |只看该作者
系統頭文件的search path好象是寫死在cpp程序中的。下面是cpp的info手冊說的:

GCC looks in several different places for headers.  On a normal Unix
system, if you do not instruct it otherwise, it will look for headers
requested with `#include <FILE>' in:

     /usr/local/include
     LIBDIR/gcc/TARGET/VERSION/include
     /usr/TARGET/include
     /usr/include

论坛徽章:
0
3 [报告]
发表于 2006-02-05 12:21 |只看该作者
如果在当前目录使用#include ".h"就行吧

论坛徽章:
0
4 [报告]
发表于 2006-02-05 12:31 |只看该作者
如故是在同一目录下就可以直接用 inlucde "**.h" 但问题是不在同一目录下. 编译器肯定有一个先后搜寻顺序的. 也一定在什么地方可以配置它来改变搜寻顺序的. 就像加载库文件一样我们可以增加自己想要的库, 而免去-L***这样的语句啊.

论坛徽章:
0
5 [报告]
发表于 2006-02-05 12:48 |只看该作者
有个spces文件, 里边可能有
大约在/usr/lib/gcc/*/lib下面

论坛徽章:
0
6 [报告]
发表于 2006-02-06 08:49 |只看该作者
到目前还没有满意的答案, 请高手出手把这一技巧告诉一下, 拜托了

论坛徽章:
0
7 [报告]
发表于 2006-02-06 10:17 |只看该作者
gcc 是前端总管, 命令行选项被传递给了预处理器, 编译器和连接器等,
用来配置 gcc 的文件就是那个 specs 文件,
文件中设置了编译一个程序时所发生的操作和规则,
包括搜索路径, 连接哪些库, 调用哪个编译器等等.
specs 文件可以级连, 就是说你还可以定制自己的 specs 文件,
通过 gcc 命令行选项 -specs 来指定,
定制 specs 文件中的设置将覆盖标准位置 specs 文件中的设置.
除了 specs 文件中的设置, 在编译 gcc 时,
gcc 二进制程序中也编译进去了一个默认的规则集合.

你在 gcc 上给出的 -I 字串附加到了 specs 文件的中 *cpp_options 和 *cc1_options 选项的后面.
-L 给出的字串被附加到了 specs 文件中 *link 节中选项的后面.

specs 文件的语法没有找到较好的文档.

论坛徽章:
0
8 [报告]
发表于 2006-02-06 11:26 |只看该作者

回复 7楼 BSDMiX 的帖子

请问specs文件是编译GCC时生成的, 还是包含在源代码中的?
我在gcc-3.1和4.02的源代码下找到的都是具体语言的specs:
[root@localhost gcc-4.0.2]# find . |grep specs
./gcc/ada/lang-specs.h
./gcc/objc/lang-specs.h
./gcc/cp/lang-specs.h
./gcc/java/lang-specs.h
./gcc/fortran/lang-specs.h
./gcc/treelang/lang-specs.h
是它们吗?

论坛徽章:
0
9 [报告]
发表于 2006-02-06 11:33 |只看该作者
/usr/lib/gcc/version/specs 是最终使用的
大概是这么一个样子的位置,现在在win下.
我猜是根据编译 gcc 时指定的 -with-languages 取舍你列出的那些吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP