2013-03-08 161 views
2

我为ARM(Raspberry Pi,具体而言)创建了一个交叉工具链。它的库搜索顺序如下:配置交叉编译器以使用自定义库搜索路径

armv6j-hardfloat-linux-gnueabi-gcc -print-search-dirs | grep libraries | sed "s/:/\n/g" 

libraries 
=/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.7.2/ 
/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.7.2/../../../../armv6j-hardfloat-linux-gnueabi/lib/armv6j-hardfloat-linux-gnueabi/4.7.2/ 
/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.7.2/../../../../armv6j-hardfloat-linux-gnueabi/lib/ 
/usr/armv6j-hardfloat-linux-gnueabi/lib/armv6j-hardfloat-linux-gnueabi/4.7.2/ 
/usr/armv6j-hardfloat-linux-gnueabi/lib/ 
/usr/armv6j-hardfloat-linux-gnueabi/usr/lib/armv6j-hardfloat-linux-gnueabi/4.7.2/ 
/usr/armv6j-hardfloat-linux-gnueabi/usr/lib/ 

而且我想

/usr/armv6j-hardfloat-linux-gnueabi/usr/local/lib/ 

添加到它。 据我所知,交叉编译器忽略LIBRARY_PATH并且具有固定的搜索顺序。 但是 - 在构建时是否有任何可能改变搜索顺序 - 即创建交叉工具链时?也许一些gcc的./configure选项,或者环境变量呢?

我见过一些交叉工具链,它有非标准的(但仍是固定的)库搜索顺序。他们是通过./configure选项还是类似的机制来指定的,还是被gcc攻击实现的?

+0

您是否尝试将-L 传递给gcc? – auselen 2013-03-08 12:06:31

回答

1

gcc需要一个可以指定库路径的-L选项。

如果你的代码有一个makefile,那里通常有一行可以添加用户路径。