为C / C ++设置Windows构build环境的最佳方法

基本上我想在Windows上使用GCC来编译C / C ++。 我所看到的两个竞争平台是MinGW和Cygwin。 每个人都有自己的好处和局限性。 MinGW为Windows编译,而Cygwin需要cygwin .dll。 然而,在MinGW上安装库是困难的,而在cygwin上使用setup.exe作为“包pipe理器”更容易。

我的问题是什么是在Windows上编译的最佳方式。 使用MinGW和图书馆斗争会更好吗(在这种情况下,在MinGW上安装库的简单方法)。 或者我应该使用Cygwin,如果是的话,我怎样才能得到它不需要cygwin。DLL,有效地编译为正常的Windows编译。

在Windows上编译的最简单和最好的方法是使用Visual Studio表达式 。 这是免费的。 使用cygwin的一个很好的理由是跨平台的构建。 使用gcc的一个很好的理由是它支持微软编译器没有的一些编译器。

但总而言之,VC ++ Express是唯一可以开发的方式。

总是有选择使用-mno-cygwin和Cygwin来编译像MinGW这样的Windows库:

 gcc -mno-cygwin file.c -o test 

这不是一个容易的选择,主要取决于你会依赖于其他图书馆多少。 Cygwin实际上增加了一个额外的层,比MinGW更重,但“模拟”Linux环境。

编辑:

Qt Creator允许您在Windows上(和Linux上的gcc,…)使用MinGW进行编译,具有一个IDE,使调试比gdb更加友好。 如果你需要库,你仍然可以选择使用Qt库。 如果你真的想坚持使用gcc以实现未来的可移植性,那么这将是Visual Studio的一个很好的替代解决方案。

你可能想看看CodeBlocks 。 它通常用于构建WxWidgets应用程序,但它很好地包装了MinGW。

实际上,可以选择#3:如果你的Windows版本允许,你可以安装Unix服务Unix / Subsystem for Unix应用程序 ,然后从SUACommunity获得gcc。 它也有一个包管理器。 在这3个选项中,这会给你的行为最接近真正的Unix系统。

但是,由此产生的应用程序不是Win32应用程序; 他们是SUA应用程序,需要运行SUA。 如果你为自己编写代码,如果你为自己编写代码通常不是问题,但是如果你想编写和发布一个合适的Windows应用程序,我建议远离任何试图模仿Unix的东西,所以MinGW就是这样。

Qt Creator标配MinGW,可用于构建实际上不使用Qt框架的项目。

在方程式上有一个很容易安装MinGW的GCC。 点击“编程工具”,然后“Fortran,C,C ++”,下载你喜欢的版本,安装并使用。

一种可能的方法是使用CMake ,它可以从您的源代码构建Visual Studio项目,然后从Visual Studio进行编译。 它也可以为其他IDE建立项目,所以你可以跨平台。

我认为答案取决于你打算使用库还是编译针对POSIX或基于POSIX的目标的程序。 这就是Cygwin的意图,而MinGW则更倾向于使用GCC来编译基于Windows的程序。

另一个选择是TDM MinGW: http : //www.tdragon.net/recentgcc/

它基本上是MinGW的非官方分支,最新的GCC编译器可用于32位和64位Windows机器。 甚至一些MinGW开发者也使用它。

公式Gcc更好: http : //www.equation.com/servlet/equation.cmd? fa=fortran