我正在尝试学习c ++编程。我正在使用Codeblocks IDE在Windows Vista上编写这些程序,但是因为我要学习Linux,所以我想学习尽可能多的可移植性来编写我的程序。
我已经下载了mingw编译器以用于Codeblocks,但在尝试下载GTK依赖项以尝试使用GUI时,我下载了msys2。我注意到这个程序也让你下载Mingw32和/或mingw64。这些包是否足够完整,我可以删除我以前的mingw实例,或者我是否需要保留已经下载的其他mingw包以编译和运行我的程序?
答案 0 :(得分:3)
是的,MSYS2是一个完整的开发环境,包含包管理器,编译器和构建工具。您无需安装任何类型的外部工具即可使用MSYS2开发可移植的C ++代码。
请记住,MSYS2支持三种不同的子系统。您可以选择在开始菜单中单击三个快捷方式之一时用于启动shell的子系统。 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,并在虚拟机中开发代码。
答案 1 :(得分:0)
在你的msys-git目录中找到gcc,你就会知道。通常情况下,它会丢失,在这种情况下,您应该保持完整的mingw设置。另外,如果你想要一个真正的linux仿真,使用cygwin,而不是mingw只提供一个编译器(但不是Linux系统调用等)。