既然我有msys2,我可以删除mingw上以前安装的实例吗? 我正在尝试学习C++程序设计。我正在使用Codeblocks IDE在Windows Vista上编写这些程序,但是因为我要学习Linux,所以我想学习尽可能多地使用可移植性编写程序

既然我有msys2,我可以删除mingw上以前安装的实例吗? 我正在尝试学习C++程序设计。我正在使用Codeblocks IDE在Windows Vista上编写这些程序,但是因为我要学习Linux,所以我想学习尽可能多地使用可移植性编写程序,c++,windows,mingw,codeblocks,msys2,C++,Windows,Mingw,Codeblocks,Msys2,我已经下载了mingw编译器以用于代码块,但是在尝试下载GTK依赖项以尝试使用GUI时,我下载了msys2。我注意到这个程序还有你要下载的Mingw32和或mingw64。这些包是否足够完整,我可以删除我以前的mingw实例,或者我是否需要保留我已经下载的另一个mingw包,以便编译和运行我的程序?在msys git目录中找到gcc,您就会知道。通常,它会丢失,在这种情况下,您应该保留完整的mingw设置。另外,如果您想要一个真正的linux仿真,请使用cygwin,而不是mingw,它只提供一

我已经下载了mingw编译器以用于代码块,但是在尝试下载GTK依赖项以尝试使用GUI时,我下载了msys2。我注意到这个程序还有你要下载的Mingw32和或mingw64。这些包是否足够完整,我可以删除我以前的mingw实例,或者我是否需要保留我已经下载的另一个mingw包,以便编译和运行我的程序?

在msys git目录中找到gcc,您就会知道。通常,它会丢失,在这种情况下,您应该保留完整的mingw设置。另外,如果您想要一个真正的linux仿真,请使用cygwin,而不是mingw,它只提供一个编译器(但不提供linux系统调用等)。

是的,MSYS2是一个完整的开发环境,具有包管理器、编译器和构建工具。您不需要安装任何外部工具,以便开发带有Mys2..p/P>的便携式C++代码。
请记住,MSYS2支持三个不同的子系统。单击“开始”菜单中用于启动外壳的三个快捷方式之一时,可以选择要使用的子系统。Win64和Win32 Shell及其编译器工具链包
mingw-w64-x86_64-toolchain
mingw-w64-i686-toolchain
,允许您编写仅依赖于几个运行时DLL的本机Windows应用程序。MSYS2 shell允许您编写依赖于msys-2.0.dll的应用程序,msys-2.0.dll是Cygwin的一个分支,提供了更好的POSIX仿真(因此为Linux设计的程序更有可能工作)。如果您希望您的代码是可移植的,我认为您希望它能在所有这三种环境中工作。您还可以使用VirtualBox或VMware在您的计算机上安装Linux,并在虚拟机中开发代码。

MSYS和MinGW C包含同一环境的不同部分。MSYS和MSYS2不同,因此,我建议编辑您的标题,以明确您所说的是MSYS2。在c:\msys64中既有mingw32目录,也有mingw64目录,但子目录与我的c:\mingw文件夹中的目录不同,这是我感到困惑的原因。您是否在c:\msys64\mingw32或c:\msys64\mingw64下有gcc.exe?(执行搜索,因为它可能在子文件夹下…)至于实际学习Linux,我使用了两种不同的实时环境。一个是《黑客:利用的艺术》一书中附带的一个较旧的安装。我还有一个旧版本的Kali Linux,Backtrack 5。我使用旧发行版的原因是,我有一些适合这些特定版本的书籍。msys安装基本上是我能找到的下载GTKSo的唯一方法,您可以安全地使用这个gcc实例。这不是“更好的选择”,而是像其他选择一样可以接受的选择。关于GTK,cygwin是唯一真正的linux仿真。如果您有cygwin并安装了apt cyg,那么apt cyg install gtk+将安装gtk,就像您熟悉ubuntu的apt get一样。您也可以从cygwin安装程序安装该软件包。好吧,我下载MSYS2的唯一原因是为了GTK。我确实使用Linux虚拟机在那个环境中编译和检查我的程序,而且我真的不需要用MSYS2开发应用程序。话虽如此,我使用的IDE很难链接到我通过pacman安装的GTK库。我使用“pacman-SSGTK3”下载了列出的每个包。但要么我没有下载正确的软件包,要么下载的文件不是IDE所期望的格式。你可以把这作为第二个问题发布。请务必提供关于您如何设置开发环境的具体细节,以及您遇到的错误,以便其他人能够重现您的问题或看到您做错了什么。好的,谢谢。我不确定这个问题是否值得第二次发布,或者它是否本质上会被视为一个后续问题。IMHO缺少的一个包是Tex包(包含在msys中)