为什么运行时armv7l-unknown-linux-gnueabihf-objdump给出“无效的bfd目标”?

时间:2019-06-29 18:22:15

标签: gcc binutils bfd

我当前正在使用configure命令为armv7l-unknown-linux-gnueabihf目标构建Binutils 2.32:

chronos@localhost ~/Downloads/tarballs/binutils-2.32 $ ./configure --prefix=/usr/local/opt/arm-cross --target=armv7l-unknown-linux-gnueabihf --enable-shared --enable-host-shared --disable-static --enable-plugins --enable-gold=default --enable-ld --with-system-zlib

我运行了make -j3 && make install,并且没有发生任何错误。

但是,当我将/usr/local/opt/arm-cross/bin添加到路径并运行armv7l-unknown-linux-gnueabihf-objdump时,会发生此错误:

armv7l-unknown-linux-gnueabihf-objdump: can't set BFD default target to `armv7l-unknown-linux-gnueabihf': invalid bfd target

该如何解决?我在Stack Overflow和Google上搜索,却一无所获。

1 个答案:

答案 0 :(得分:1)

您使用--enable-shared --enable-host-shared --disable-static配置。这意味着您需要确保binutils程序可以找到所需的共享库。因此,除了PATH之外,您还必须使用LD_LIBRARY_PATH,否则BFD库可用于您的自定义binutils构建。

但是,这可能会影响其他已安装的binutils版本查找其BFD库的方式,因此可以更轻松地静态链接您的版本。