将C / C ++代码从Linux移植到Windows的最佳环境

我想在Windows平台上构build一个可以构build的大项目。 该项目本身是用C / C ++编写的,遵循POSIX标准,有一些库依赖项,比如libxml2,libcurl等等。 我更像一个Linux开发人员,而不是Windows开发人员,所以我不知道我应该使用哪个编译器套件来移植代码。 哪一个提供更好的与gcc的兼容性4.4.3我现在在用吗?

我的项目需要flex和野牛,有没有“准备使用”的环境,以移植这样的项目到Windows平台?

谢谢。

如果是我,我会安装以下内容:

这实际上是我自己编程的环境,而且工作得很好。 如果你想要一个IDE,我会推荐Code :: Blocks ,但是gvim和emacs也可以用于Windows。

如果您不使用任何UNIX系统调用,那么您可以在Windows上自由运行。 对于windows也有flex和bison: http : //gnuwin32.sourceforge.net/packages.html 。 你可以继续MinGW: http : //www.mingw.org/ 。

如果你有UNIX系统调用,那么你必须使用cygwin: http ://www.cygwin.com/,http: //en.wikipedia.org/wiki/Cygwin 。

我非常怀疑cygwin和mingw是否达到了4.4.3。 我敢打赌,能够在mingw中升级编译器变得更容易。

如果你真的使用任何Linux特定的东西,你将需要cygwin。 你列出的图书馆不是我不认为的问题。 POSIX可能,取决于。

一个很好的新选择是Cygnal 。 基本思路:

  • 首先,使用Cygwin的本地工具链(而不是MinGW)编译Cygwin下的代码。
  • 接下来,用Cygnal版本的Cygwin DLL部署该程序。

Cygnal是一个主要的Cygwin DLL的一个分支,它改变了某些类似Unix的行为。

Cygwin的座右铭是“让Linux感觉在Windows上”。 Cygnal调低了那种感觉; 它将一些Windows的感觉带回到程序中,以便这些程序可以在使用Windows约定的Cygwin环境以外的Windows用户中使用。

程序理解本地路径等。 Cygwin中没有丰富的API功能被删除,只有一小部分被调整。