如何在Windows上构buildgnu`libiconv`?

我想在Windows上构build一个静态库(* .LIB文件) GNU libiconv ,与Visual C ++中的其他库一起使用。 我正在使用的其他库是使用“multithreadingDLL”(/ MD)运行时选项构build的。 所以,我需要使用相同的选项来构buildlibiconv。

问题是libiconv使用GNU构build系统,我想用/ MD选项编译。 你可以在这里看到libiconv的源代码结构: http ://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv

Zlatkovic先生维护libxml2的GNU libiconv的Windows端口

你可以在这里看到他们:

ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip

ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip

我不能使用他的端口。 我需要从最新版本的libiconv-1.13开始构build。 我不知道这个人是如何移植它的? 有人可以告诉我如何从这个build立* .lib并使用MSVC编译它?

编辑:

其实,我需要build立几个相同的设置GNU库。 所以,如果我得到一个库的解决scheme。 我可以为所有其他人做同样的事情。

Solutions Collecting From Web of "如何在Windows上构buildgnu`libiconv`?"

我找到了Park Youngho的“ 如何代码项目中 使用Microsoft Visual Studio构建libiconv以完成和清理(对于VS2010和GNU libiconv 1.14)”。

有一点除了你的答案。 我有同样的问题,发现MinGW + MSYS解决方案是完美的。

虽然,我需要进一步,并生成.lib文件,以便能够链接到生成的DLL。

这是我发现的:

  • 使用dumpbin(Visual Studio工具)从dll生成一个.def文件。

  • 使用lib程序(Visual Studio工具)从.def生成.lib文件。

这使您可以指定一些链接标志,如果适当的话。 这里详细的一切(我不是这个方法的作者): http : //wiki.videolan.org/GenerateLibFromDll

我也意识到这个lib / dll对可以和MD和MDd库连接起来。

希望能帮助那些找到这个帖子的人,就像帮了我一样。

-大卫

编译他们使用MinGW使用Msys的环境,如果需要的话。 根据邮件列表,MinGW的.a文件显然是与.lib文件相同的格式(只是重命名)。 您可能需要先检查MinGW下载/文件系统中是否包含iconv静态库。

编辑:它在msys(C:\ msys \ 1.0 \ lib),以及:

  • libiconv.a
  • libiconv.dll.a
  • libiconv.la

另外

  • libiconv-2.dll(在C:\ msys \ 1.0 \ local \ bin中)

编辑:它在这里,你需要的libiconv? 这些版本似乎有MSVC的makefiles 🙂 http://www.opensource.apple.com/source/libiconv/

我是OP。 MSYS是我正在寻找的确切的东西。

只要安装MinGW&MSYS,其中包含可以配置的shell sh.exemake.exe ,然后生成Makefile ,然后使用make.exe运行它。

就这么简单。