我为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破解了?

最佳答案

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

如果您的代码中有一个makefile,则通常会在其中添加一行,可以向其中添加用户路径。

10-01 11:29