在Win32中构建最新的iconv和libxml2二进制文件

时间:2010-08-07 04:09:21

标签: c++ mingw libxml2 msys iconv

我正在努力让MinGW和MSYS工作,所以我可以在Windows中构建iconv和libxml2,但我发现./configure和make会给出很多与BSD / Unix相关的错误,这些错误不够具体到google ,并没有足够的描述性让我弄明白。任何人都可以通过一些步骤来获得在Win32机器上构建的iconv和libxml2 .dll / .lib吗?

我正在为某些软件更新库,我今天整天都在忙着解决这个问题并且没有想到它。我得到了最新的libpng,zlib和curl,没有任何问题,但我发现这些库没有太多的支持或操作方法,就像其他库一样。任何帮助都将非常感谢,提前感谢您的时间。

詹姆斯

6 个答案:

答案 0 :(得分:3)

我意识到我可能会复活一个死线,但是......

对我有用的是不编译共享库,而是使用a2dll工具导出它们,如下所示:

./configure --prefix=/mingw --disable-shared make make install

a2dll libiconv.a -o iconv.dll mv -iv iconv.dll /mingw/bin/

答案 1 :(得分:2)

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

downloaded prebuilt iconv,它对我有用。

答案 2 :(得分:2)

环境mingw32

我能够在这篇文章的帮助下编译libxml2 https://mail.gnome.org/archives/xml/2011-December/msg00005.html
在解压缩http://xmlsoft.org/sources/libxml2-2.9.1.tar.gzwin32目录内 执行以下2个步骤

cscript 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标志

答案 3 :(得分:1)

你可以在http://www.zlatkovic.com/libxml.en.html

获取由Igor Zlatkovic制作的窗户的二进制文件

答案 4 :(得分:0)

你必须先打扫干净然后

./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

答案 5 :(得分:0)

我最近在Andrew Marlow(2013年7月)发现了一个tutorial,简要解释了如何在VisualStudio下编译libxml2。

可以在此complete tutorial之后编译libiconv,也可以在第一个链接中作为链接进行编译。

修改

libxml2的1.14版本现在有一个VS2010解决方案。现在这样做非常简单!

否则,您可以按照自述文件和Marlow的教程与其他特定于Windows的编译器执行相同的工作。

修改

我想在这里写下有关libxml2 v1.14附带的VS2010解决方案的一些细节,以帮助任何感兴趣的人。这是非常糟糕的;例如,Release配置根本没有正确完成,你必须这样做。如果你想使用它,我会给你两个建议:

  1. 如果路径不正确,请先删除项目iconv。然后添加你的项目文件;由于旧文件上保留了引用,您在编译时仍会收到警告。要禁止此警告,请使用文本编辑器编辑.vcxproj,使用正确的路径更改最后一个ItemGroup的ProjectReference Include路径,以及此节点的Project项(将其替换为ProjectGuid) iconv vcxproj)。

  2. 使用静态库libxml2.lib与Ws2_32.lib链接任何应用程序。

  3. 这些是我遇到的一些错误,希望这会帮助任何想要在VS下重建libxml2的人。