问题描述
我想让我的C ++项目跨平台,我正在考虑使用Cygwin / MinGW。
但是它们之间的区别是什么?
I want to make my C++ project cross platform, and I'm considering using Cygwin/MinGW.But what is the difference between them ?
另一个问题是我是否能够在没有Cygwin / MinGW的系统上运行二进制文件?
Another question is whether I will be able to run the binary on a system without Cygwin/MinGW ?
推荐答案
Cygwin试图在Windows上创建一个完整的UNIX / POSIX环境。要做到这一点,它使用各种DLL。虽然这些DLL由GPLv3 +覆盖,但它们的许可证包含,不会强制派生工作被覆盖由GPLv3 +。 MinGW是一个C / C ++编译器套件,它允许您创建Windows可执行文件而不依赖于此类DLL - 您只需要正常的MSVC运行时,这是任何正常的Microsoft Windows安装的一部分。
Cygwin is an attempt to create a complete UNIX/POSIX environment on Windows. To do this it uses various DLLs. While these DLLs are covered by GPLv3+, their license contains an exception that does not force a derived work to be covered by the GPLv3+. MinGW is a C/C++ compiler suite which allows you to create Windows executables without dependency on such DLLs - you only need the normal MSVC runtimes, which are part of any normal Microsoft Windows installation.
您还可以获得一个小型UNIX / POSIX环境,使用MinGW编译,名为 。它没有任何接近Cygwin的所有功能,但是对于想要使用MinGW的程序员来说是理想的。
You can also get a small UNIX/POSIX like environment, compiled with MinGW called MSYS. It doesn't have anywhere near all the features of Cygwin, but is ideal for programmers wanting to use MinGW.
这篇关于Cygwin和MinGW有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!