我在他们的网站上安装了mingw。 我安装了开发包,它包含iconv和intl,msys以及所有其他内容。
我运行./configure
然后make install
。链接时,它会打印:
../../src/liblzma/liblzma.la -lintl
libtool: link: cannot find the library `/home/keith/staged/mingw32/lib/libiconv.
la' or unhandled argument `/home/keith/staged/mingw32/lib/libiconv.la'
make[2]: *** [xzdec.exe] Error 1
我不知道keith是谁或为什么它看起来像库..我尝试设置CCFLAGS CXXFLAGS和LDFLAGS到我的包和库文件夹/usr/local/lib
没有雪茄......任何想法为什么会发生这种情况以及如何解决它?
答案 0 :(得分:4)
这是MinGW gettext
包的已知问题。 Keith Marshall," keith"问题,解释一下MinGW SourceForge网站上in a bug report的内容。
一个相当丑陋的解决方法是实际创建一个/home/keith/staged/mingw32
文件夹,然后将符号链接添加到/mingw
中的必要文件夹,即:
mkdir -p /home/keith/staged/mingw32
cd $_
ln -s /mingw/bin bin
ln -s /mingw/lib lib
(请注意,如果您的文件系统中不存在/mingw
,则可以通过将此行添加到/etc/fstab
的底部来创建它:
C:/MinGW /mingw
当然,假设你在C:\MinGW
安装了MingW。关闭终端窗口并重新运行msys.bat
以使更改生效。)
然后,您需要download libiconv.la
来自方便准备文件的人,并将其复制到/home/keith/staged/mingw32/lib/
。
这是一次糟糕的黑客攻击,但它对我有用。
答案 1 :(得分:2)
根据this bug report,最新的gettext包有问题(gettext-0.18.3.2)。
我尝试了以下两种方法。它似乎都运作良好。
删除不良文件
pushd / mingw / lib /&& rm libasprintf.la libgettextlib.la libgettextpo.la libgettextsrc.la libintl.la&& POPD
或者您可以重命名它们。事实上,如果你用文本编辑器打开它们,你会在这些* .la文件中看到/ home / keith / ....
使用gettext-0.18.3.1包
关闭MSYS并运行以下命令以使用旧版本:mingw-get upgrade“gettext = 0.18.3.1-1 *”,PATH = C:\ mingw \ bin;%PATH%,当然。