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

lon*_*tar 5 c gcc arm

我为 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/
Run Code Online (Sandbox Code Playgroud)

我想补充一点

/usr/armv6j-hardfloat-linux-gnueabi/usr/local/lib/
Run Code Online (Sandbox Code Playgroud)

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

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

Mar*_*son 1

gcc 采用 -L 选项可以指定库路径。

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