使用选项 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 (将#修改为@)