我正在尝试让 MinGW 和 MSYS 工作,以便我可以在 Windows 中构建 iconv 和 libxml2,但我发现 ./configure 和 make 给出了很多 BSD/Unix 相关错误,这些错误对于 google 来说不够具体,并且描述性不够,我无法弄清楚。任何人都可以完成在 Win32 计算机上构建 iconv 和 libxml2 .dll/.lib 所需的一些步骤吗?
我正在更新一些软件的库,今天我整天都在摆弄这个,但还没有弄清楚。我构建了最新的 libpng、zlib 和curl,没有出现任何问题,但我发现这些库没有像其他库那样提供太多支持或操作方法。任何帮助将不胜感激,提前感谢您的时间。
詹姆斯
我意识到我可能正在恢复死线程,但是......
对我有用的是不编译共享库,而是使用 a2dll 工具派生它们,如下所示:
./configure --prefix=/mingw --disable-shared
make
make install
a2dll libiconv.a -o iconv.dll
mv -iv iconv.dll /mingw/bin/
我能够在这篇文章的帮助下编译 libxml2
https://mail.gnome.org/archives/xml/2011-December/msg00005.html
解压后的
win32
目录下http://xmlsoft.org/sources/libxml2-2.9.1.tar.gzcscript configure.js threads:no static:yes compiler:mingw iconv:no prefix=where_you_want_to_install include=where_your_mingw_include_is lib=where_your_mingw_lib_is debug=yes
然后
mingw32-make -f Makefile.mingw
我能够在 Windows 7 环境下使用 mingw 上的 code::blocks 编译并执行 http://xmlsoft.org/examples/reader1.c 示例。
请记住在“项目构建选项”下的“其他链接器选项”框中指定
-lxml2
和 -lws2_32
标志
libxml2 提供 JavaScript 配置。在 win32 文件夹中查找它。那里还有一个单独的自述文件。构建 libxml2 的示例:
cd win32
cscript.exe configure.js compiler=mingw prefix=D:\soft\Qt\2010.03\mingw debug=yes static=yes
mingw32-make -f Makefile.mingw
我已经下载了预建的 iconv,它对我有用。
你必须先清洁然后
./configure --host=arm-linux --disable-shared --enable-static CC="arm-linux-gcc" --prefix="/tmp/iconv" --with-configuredir="/tmp/iconv"
make
make install
然后在 /tmp/iconv 获取 libconv.a
我最近找到了 Andrew Marlow 的一个 tutorial(2013 年 7 月),简要解释了如何在 VisualStudio 下编译 libxml2。
可以按照这个完整教程编译libiconv,也作为第一个链接中的链接给出。
编辑
libxml2 1.14版本现在有VS2010解决方案。现在做到这一点非常简单!
否则,您可以按照自述文件和 Marlow 的教程对其他 Windows 特定编译器执行相同的工作。
编辑
我想在这里写下有关 libxml2 v1.14 中包含的 VS2010 解决方案的一些详细信息,以帮助任何感兴趣的人。这件事做得相当糟糕;比如Release配置根本就没有做好,你必须要做。如果你想使用它,我给你两个建议:
如果路径不正确,请先删除项目 iconv。然后添加你的项目文件;由于旧文件上保留了引用,因此您在编译时仍然会收到警告。要抑制此警告,请使用文本编辑器编辑 .vcxproj,使用正确的路径更改最后一个 ItemGroup 的
ProjectReference Include
路径,以及此节点的 Project
项(将其替换为 iconv vcxproj 的 ProjectGuid) .使用静态库 libxml2.lib 与 Ws2_32.lib 链接任何应用程序。
这些是我遇到的一些错误,希望这能帮助任何想要在 VS 下重建 libxml2 的人。
你可以看这里
(libxml2 和 Xerces-C WIN32/64 二进制文件)
https://gitlab.com/mp81ss_repo/xml_windows_binaries