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

时间:2010-04-23 15:52:43

标签: c++ c windows linux gcc

我想在Windows平台上构建一个可构建的大项目。 项目本身是按照POSIX标准用C / C ++编写的,有一些库依赖项,如libxml2,libcurl等。 我更喜欢Linux开发人员而不是Windows开发人员,因此我不知道应该使用哪个编译器套件来移植代码。 哪一个提供与gcc 4.4.3的更多兼容性我现在正在使用?

我的项目需要flex和bison,有没有“随时可用”的环境将这些项目移植到Windows平台?

感谢。

4 个答案:

答案 0 :(得分:11)

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

这实际上是我自己编程的环境,而且效果很好。如果您需要IDE,我建议使用Code::Blocks,但gvim和emacs也适用于Windows。

答案 1 :(得分:4)

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

一个不错的新选择是Cygnal。基本理念:

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

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

Cygwin的座右铭是“在Windows上获得Linux的感觉”。 Cygnal淡化了这种感觉;它带来了一些Windows程序的感觉,因此这些程序适用于使用Windows约定的Cygwin环境之外的Windows用户。

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