如何解决使用选项 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
变量 CFLAGS
和 CXXFLAGS
与 -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 举报,一经查实,本站将立刻删除。