我创建了一个适用于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来实现的呢?