4

我为 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 并具有固定的搜索顺序。但是 - 有没有可能在构建时改变这个搜索顺序 - 即在创建跨工具链时?也许一些 ./configure 用于 gcc 的选项,或者环境变量呢?

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

4

1 回答 1

1

gcc takes a -L option which can specify the library path.

If your code has a makefile there is often a line in there you can add user-paths to.

于 2013-03-08T13:03:53.947 回答