我正在努力让MinGW和MSYS工作,所以我可以在Windows中构建iconv和libxml2,但我发现./configure和make会给出很多与BSD / Unix相关的错误,这些错误不够具体到google ,并没有足够的描述性让我弄明白。任何人都可以通过一些步骤来获得在Win32机器上构建的iconv和libxml2 .dll / .lib吗?
我正在为某些软件更新库,我今天整天都在忙着解决这个问题并且没有想到它。我得到了最新的libpng,zlib和curl,没有任何问题,但我发现这些库没有太多的支持或操作方法,就像其他库一样。任何帮助都将非常感谢,提前感谢您的时间。
詹姆斯
答案 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)
我能够在这篇文章的帮助下编译libxml2
https://mail.gnome.org/archives/xml/2011-December/msg00005.html
在解压缩http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz的win32
目录内
执行以下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)
答案 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配置根本没有正确完成,你必须这样做。如果你想使用它,我会给你两个建议:
如果路径不正确,请先删除项目iconv。然后添加你的项目文件;由于旧文件上保留了引用,您在编译时仍会收到警告。要禁止此警告,请使用文本编辑器编辑.vcxproj,使用正确的路径更改最后一个ItemGroup的ProjectReference Include
路径,以及此节点的Project
项(将其替换为ProjectGuid) iconv vcxproj)。
使用静态库libxml2.lib与Ws2_32.lib链接任何应用程序。
这些是我遇到的一些错误,希望这会帮助任何想要在VS下重建libxml2的人。