主题 : 请教一个交叉编译时库的搜索路径问题~ 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 418
精华: 0
发帖: 21
金钱: 205 两
威望: 39 点
综合积分: 42 分
注册时间: 2008-03-29
最后登录: 2011-05-06
楼主  发表于: 2009-01-03 00:24

 请教一个交叉编译时库的搜索路径问题~

我下载的交叉工具链是2.95.3,安装于/usr/local/arm/2.95.3。最近看交叉编译的一篇文章,说非默认路径的路需要在编译时指定路径,如下:
arm-linux-gcc test.c -L/usr/local/arm/2.95.3/arm-linux/lib -I/usr/local/arm/2.95.3/arm-linux/include
但是我以前交叉编译时从来没指定过-L和-I参数,只在/et/profile中添加了
pathmunge /usr/local/arm/2.95.3/bin
却可以正确编译没有问题~!

所以请问下,不指定-L和-I参数时,是怎么找到库的呢?
谢谢
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-01-03 15:01
如果你的交叉编译器安装在/usr/local/arm/2.95.3下, 编译器名字是arm-linux-gcc的话, 通常默认的库搜索路径是/usr/local/arm/2.95.3/arm-linux/lib, 头文件的搜索路径是/usr/local/arm/2.95.3/arm-linux/include.

另外, 我的建议是不要去修改PC上/etc目录下的设置, 那些是给PC的gcc用的, 交叉编译器的话最安全的用法是加上绝对路径, 让交叉编译器自己去找应该链接的库或者头文件
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 944
精华: 3
发帖: 71
金钱: 22760 两
威望: 4838 点
综合积分: 202 分
注册时间: 2008-06-27
最后登录: 2017-07-16
2楼  发表于: 2009-01-03 17:28
交叉工具链里面有内嵌的默认搜索路径,arm-linux-gcc -v 可以看到
级别: 新手上路
UID: 418
精华: 0
发帖: 21
金钱: 205 两
威望: 39 点
综合积分: 42 分
注册时间: 2008-03-29
最后登录: 2011-05-06
3楼  发表于: 2009-01-03 23:38
原来交叉工具链自己有默认的搜索路矩?
搜索到的文档都没提到过~
谢谢,明天试试!