Nat*_*man 5 hardcode gettext cross-compiling libtool
我正在针对 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.
Run Code Online (Sandbox Code Playgroud)
您可以在此处libtool查看包括命令的完整构建日志(错误位于页面的最底部)。
什么会导致此错误?它意味着什么?尽管错误消息中有声明,但我似乎在文档中找不到有关此错误的任何信息。
另外值得注意的是:真正让这件事变得奇怪的是,在 Ubuntu 12.10 (Quantal) 上构建成功,没有错误……但在当前的 LTS 版本 Ubuntu 12.04 上却失败了。
附加:libtool我对成功的构建和失败的构建之间的调用行进行了比较。差异看起来像这样:

显然命令中省略了 C++ 编译器。这会导致上述错误吗?
事实证明,这个问题非常微妙。mingw -w64Ubuntu 12.10 (Quantal) 中的软件包列出了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
Run Code Online (Sandbox Code Playgroud)
精确的:
checking for g++... i686-w64-mingw32-g++
checking whether the C++ compiler (...) works... no
Run Code Online (Sandbox Code Playgroud)