MinGW-W64:原生Windows开发应该使用哪些安装选项(架构,线程等)?

4

我想在Windows 10 64位系统上安装MinGW-W64(必须运行于1607版本!)。首先需要解决的问题是,应该下载哪个MinGW版本,下载页面上有三个版本可供选择:1) "MingW-W64-builds",2) "Msys2",3) "Win-Builds"。我选择了第一个。如果这不是我要用的版本,请告诉我。

当我开始安装程序时,需要选择以下选项,但我不确定应该选择哪个:

架构:i686或x86_64
线程:posix或win32
异常:dwarf或sjlj

目的(我想做什么)

我想(后来)安装CLang C++ 64位编译器,据我所知,这需要从MinGW-64中获取库。

我想编写本地的Windows 64位C++(至少是C++14)和C应用程序(使用GCC或CLang编译)。我不需要bash(除非有人能告诉我为什么应该使用它而不是出色的Windows Powershell)。

以后我希望能够安装一个集成调试器的IDE(例如Eclipse),其中包括GCC的调试器,如果CLang有不同的调试器,则需要相应的调试器。

源代码应尽可能与使用Visual Studio编译的源代码兼容,并且生成的二进制文件也应尽可能与使用Visual Studio生成的代码兼容(不幸的是,由于许可证原因,我不能使用VS Community版本)。

(这可能有助于回答问题:Python 2.7.11和Python 3.7已安装在我的计算机上)


可以在问题前面添加“MinGW-W64:”吗? - Peter Sulzer
好的,我自己找到了如何编辑标题的方法 :-) - Peter Sulzer
1个回答

3

MSYS2是一个为您提供类UNIX shell的环境。 如果您需要使用类UNIX构建工具(如autoconf),可以使用它。 如果这不是您所需的,请不要安装它。 绝对不要构建MSYS,因为它更接近于Cygwin POSIX仿真而不是本机Windows。

您需要使用针对MinGW-w64构建的GCC编译器。 例如,可以使用来自以下网站之一的MinGW-w64-builds之一:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/

但是,那里似乎没有发布任何最新版本,而GCC和MinGW-w64库都有更新版本。因此,我已经构建了更新版本并在http://winlibs.com/上发布了它们。

http://winlibs.com/上还有一些关于如何从命令行编译以及如何在Code::Blocks IDE中设置编译器的说明。

如果您需要Clang而不是GCC,则可以在以下网站上获取Windows二进制文件:http://releases.llvm.org/

但是,您仍然需要MinGW-w64库才能使用CLang构建Windows。因此,如果您是新手,也许应该先从GCC开始,然后再转向CLang。

保持代码在编译器甚至操作系统之间的兼容性取决于程序员。 关键规则是避免任何编译器或操作系统特定内容,如果确实必须使用,则将它们封装在条件定义中(例如,在#ifdef __MINGW32__#ifdef _WIN32#endif之间放置特定代码)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接