2010-08-18 29 views
1

我安装了Cygwin和MinGW(TDM)。要从源代码构建某些项目,您必须运行./configure脚本,该脚本需要bash shell和某些unix实用程序。为此,MinGW项目分发MSYS,它基本上是一个旧的精简版Cygwin。我已经安装了Cygwin,所以我宁愿使用它。我需要为Cygwin安装哪些软件包,以及如何调用./configure,以便知道我正在尝试使用MinGW构建本机Windows二进制文件?使用Cygwin作为MinGW的外壳

回答

0

您知道Cygwin带有一个MinGW编译器和内置的库吗?通过使用-mno-cygwin开关,您可以将Cygwin gcc转换为MinGW gcc。如何使用./configure来使用它超出了我的想法,但我想这取决于./configure脚本。

我所做的通常是通过向编译器和链接器标志添加-mno-cygwin开关来生成Makefiles。

+0

这不适用于gcc-4。 cygwin开发人员删除了-mno-cygwin以支持使用MinGW。 – alternative 2010-08-29 22:03:32

+1

这意味着用“mingw-gcc file.c”替代“gcc -mno-cygwin file.c”。 mingw-gcc是一个编译成在一个平台上运行的gcc(cygwin),并为另一个平台(mingw)生成二进制文件。我还没有为我的cygwin开发转向GCC4,因此我不知道cygwin发行版中是否包含“mingw-gcc”。如果是这样,你可以调整生成的Makefile以使用GCC = mingw-gcc。 – thoni56 2010-09-05 16:14:37

+0

[此链接](http://lists-archives.org/cygwin/56618-cygwin-1-7-how-do-i-use-gcc-4-and-mingw-to-replace-mno_cygwin.html)指出了如何做到这一点的一些提示,以及“真正的”交叉编译器“尚未完全准备好”的事实。 – thoni56 2010-09-07 08:01:18

2

如果你想建立与Cygwin的原生Windows二进制文件,只需要安装正确的Cygwin包

mingw64-i686-gcc 
mingw64-x86_64-gcc 

这些Cygwin的包包含将创建不需要Cygwin的DLL本地Windows二进制文件的编译器。