微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用选项 rpath-link 了解交叉构建

如何解决使用选项 rpath-link 了解交叉构建

我想以更一般的方式理解 -Wl,-rpath-link=<path> 以修复 problem as described here

我尝试使用配置脚本交叉构建 wxGtk 2.8.11(目标是旧的 i386 平台,工具链二进制文件夹被添加$PATH 所以 i686-pc-linux-gnu-gcc 等可以被调用):

./configure --enable-unicode --disable-shared --prefix=/usr/local/<target> --host=i686-pc-linux-gnu

我通过 rpath-link 提供了几个工具链库路径,并将 env 变量 CFLAGSCXXFLAGS-Wl,-rpath-link=<path> 一起用于 wxGtk configure 脚本-- 否则它会中止:

Could not run GTK+ test program,checking why...
*** The test program Failed to compile or link

我没有找到使用 rpath-link方法(我通过 LDFLAGS 提供相同的库路径)。

我尝试通过 LD_LIBRARY_PATH 提供相同的路径,但这会导致交叉编译器崩溃。

所以在生成的 Makefile 中使用了 rpath-link调用 make 时,由于 -rpath-link 选项,它会在某个时候中止。

如果我使用失败的编译命令并删除 -rpath-link 选项,它会起作用。 所以恕我直言...

  • -rpath-link链接器提供导致构建失败的附加信息。
  • 这意味着 rpath-link 选项会覆盖某种认路径,并且可以通过额外通过 Wl,rpath-link=<path> 显式提供这些认路径来修复交叉构建。

我理解正确吗?

如果是这样,我在哪里可以找到通过 -rpath-link 提供它们的相应认路径?

顺便说一句:我认为整个问题的出现是因为 wxGtk 的交叉构建不仅为目标交叉构建了 wx 库,而且还构建了一些库和可执行文件,例如 wx-config对于 host,即那些显然不是交叉编译的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。