c++ - 既然我有 msys2,我可以删除之前在 mingw 上安装的实例吗?

标签 c++ windows mingw codeblocks msys2

我正在尝试学习 C++ 编程。我正在使用 Codeblocks IDE 在 Windows Vista 上编写这些程序,但由于我要学习 Linux,所以我想学习编写具有尽可能多的可移植性的程序。

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

最佳答案

是的,MSYS2 是一个完整的开发环境,带有包管理器、编译器和构建工具。您无需安装任何类型的外部工具即可使用 MSYS2 开发可移植的 C++ 代码。

请记住,MSYS2 支持三个不同的子系统。单击开始菜单中用于启动 shell 的三个快捷方式之一时,您可以选择要使用的子系统。 Win64 和 Win32 shell 及其编译器工具链包 mingw-w64-x86_64-toolchainmingw-w64-i686-toolchain依赖于一些运行时 DLL。 MSYS2 shell 允许您编写依赖于 msys-2.0.dll 的应用程序,它是 Cygwin 的一个分支,提供更好的 POSIX 模拟(因此为 Linux 设计的程序更有可能工作)。如果您希望您的代码可移植,我认为您希望它在所有这三种环境中都能工作。您还可以使用 VirtualBox 或 VMware 在您的机器上安装 Linux 并在虚拟机中开发您的代码。

关于c++ - 既然我有 msys2,我可以删除之前在 mingw 上安装的实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34594893/

相关文章:

c++ - 计算数组中的不同切片

c++ - 用 Singleton 保护资源?

c++ - 为什么 "error: invalid application of ' sizeof' 为使用 unique_ptr 的不完整类型”通过添加空析构函数来修复?

c++ - 使用自定义分配器分配 std::vector 并且在运行时类型未知

c# - UWP 的标题栏后退按钮

c++ - _O_WTEXT、_O_U16TEXT、_O_U8TEXT - 这些模式在 mingw 编译器中是否可行,是否有任何解决方法?

windows - ld MinGW 链接到标准 C 库

c++ - 正则表达式+编译 boost ?

windows - 如何以编程方式在 Windows 中查找已安装应用程序的安装位置

c++ - 如何在 C++ 中将 std::string 值传递给 RegSetValueEx()