多架构环境中的链接

问题描述

我为多种架构(特别是 amd64、arm64、armhf)构建,并且一直在使用 Ubuntu 16_04,使用 autotools 和 gcc-5。我需要链接的一些 *.so 文件未存储在 /usr/lib//..

为了在不同架构之间轻松切换架构,而无需编辑诸如 Makefile.am 之类的文件,我在其中指示所需的目标文件和位置,我使用 -L -L -L -lobj1 -lobj2 -loobj3 等 ld 一直在寻找给定库的所有位置,直到找到具有正确架构的库。如果它不在第一个位置,它会报告并出错,但会继续直到找到正确的位置。

我最近升级到 Ubuntu 20_04 和 gcc-9,发现如果 arch 不正确并且不继续搜索,ld 会停在第一个位置,文件名称匹配。

有没有办法告诉 /usr/bin/x86_64-linux-gnu-ld 继续搜索以找到架构 arm-linux-gnueabihf 的库?

我知道有一个选项可以接受架构未知的库,但我看不到继续寻找的选项。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)