4

我正在gettext-0.18.2为 Windows 进行交叉编译,但遇到了一些问题。在其中一个共享库的链接阶段,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包含命令的完整构建日志(错误位于页面的最底部)。

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

另外值得注意的是:真正让这件事变得奇怪的是,在 Ubuntu 12.10 (Quantal) 上构建成功且没有错误……但在当前 LTS 版本 Ubuntu 12.04 上却失败了。


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

在此处输入图像描述

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

4

1 回答 1

3

啊哈!

事实证明,这个问题非常微妙。Ubuntu 12.10 (Quantal) 中的mingw-w64软件包将安装 mingw-w64g++-mingw-w64安装 g++-mingw-w64列为依赖项 - 但在 Ubuntu 12.04 (Precise) 中并非如此。所以我需要做的就是指定g++-mingw-w64一个构建依赖项。

上面实际错误消息的原因是因为配置脚本找不到交叉编译器工具链的 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
于 2012-08-15T06:04:56.923 回答