为什么libtool会抛出“不支持的硬编码属性”错误,它们是什么意思?

时间:2012-08-15 05:19:18

标签: cross-compiling gettext libtool hardcode

我正在为Windows交叉编译gettext-0.18.2但遇到了一些问题。在其中一个共享库的链接阶段,libtool给出了以下错误消息:

/bin/bash ../libtool --tag=CXX ...
libtool: link: unsupported hardcode properties
libtool: link: See the libtool documentation for more information.
libtool: link: Fatal configuration error.

您可以看到完整的构建日志,包括libtool命令here(错误位于页面的最底部)。

什么会导致此错误,这是什么意思?尽管错误消息中有声明,但我似乎无法在文档中找到有关此错误的任何信息。

同样值得注意的是:真正令人感到奇怪的是the build succeeded without error on Ubuntu 12.10 (Quantal) ......但它在Ubuntu 12.04(现在的LTS版本)上失败了。


附加:我在成功的构建和失败的构建之间调用了libtool行的差异。差异看起来像这样:

enter image description here

显然,命令中省略了C ++编译器。这会导致上述错误吗?

1 个答案:

答案 0 :(得分:3)

啊哈!

问题结果非常微妙。 Ubuntu 12.10(Quantal)中的mingw-w64 Install mingw-w64包将g++-mingw-w64 Install g++-mingw-w64列为依赖项 - 但在Ubuntu 12.04(精确版)中并非如此。所以我需要做的就是将g++-mingw-w64指定为构建依赖项。

上面的实际错误消息的原因是因为configure脚本无法找到交叉编译器工具链的C ++编译器:

量子理论:

checking for g++... i686-w64-mingw32-g++
checking whether the C++ compiler (...) works... yes

精确:

checking for g++... i686-w64-mingw32-g++
checking whether the C++ compiler (...) works... no