配置交叉编译器以使用自定义库搜索路径

5

我创建了一个适用于ARM架构的交叉工具链(具体说是为了树莓派)。它的库搜索顺序如下:

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来实现的呢?

你尝试过向gcc传递-L<path>吗? - auselen
@longstar:你有没有想过在配置和构建gcc/g++时如何指定库搜索路径?同样,在配置和构建gcc/g++时指定所需的头文件搜索路径也是如此。 - Jim Fischer
1个回答

1

gcc有一个-L选项,可以指定库路径。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接