我已经使用mingw-get-inst下载了MinGW,现在我注意到它无法为x64编译。
那么MinGW编译器的 32位 二进制版本是否可以为32位Windows和64位Windows编译?
我不想要一个可以生成32位代码的64位版本,因为我希望编译器也可以在32位Windows上运行,而我只是在这里寻找预编译的二进制文件,而不是源文件,因为我花了无数个小时编译GCC并且失败了,我已经放弃了一段时间。 :(
答案 0 :(得分:5)
AFAIK mingw目标是32位窗口或64位窗口,但不是两者,因此您需要两次安装。而后者仍然被认为是beta。
如果你想为windows 64编译,你想要的是mingw-w64-bin_i686-mingw或mingw-w64-bin_i686-cygwin。对于win32,只需使用mingw-get-inst获得的内容。
有关文件名的说明,请参阅http://sourceforge.net/apps/trac/mingw-w64/wiki/download%20filename%20structure。
答案 1 :(得分:5)
我意识到这是一个老问题。然而,这与问题重复多次有关。
经过大量研究后我发现,到现在为止,多年后,默认情况下,从存储库安装mingw时,默认情况下都会安装两个编译器(即synaptic)。
您可以通过运行Linux的locate命令来检查和验证:
$ locate -r "mingw32.*[cg]++$"
在我的Ubuntu(13.10)安装中,我默认使用以下编译器进行选择...通过发出locate命令找到。
/usr/bin/amd64-mingw32msvc-c++
/usr/bin/amd64-mingw32msvc-g++
/usr/bin/i586-mingw32msvc-c++
/usr/bin/i586-mingw32msvc-g++
/usr/bin/i686-w64-mingw32-c++
/usr/bin/i686-w64-mingw32-g++
/usr/bin/x86_64-w64-mingw32-c++
/usr/bin/x86_64-w64-mingw32-g++
最后,您需要在许多系统上执行的操作最少:
$ sudo apt-get install gcc-mingw32
我希望这个页面的许多链接可以为很多程序员节省一些搜索时间。
答案 2 :(得分:1)
针对您的情况,可以为Mingw64下载multilib(包括lib32和lib64)版本:
Multilib Toolchains(Targetting Win32 and Win64)
默认情况下它是为64位编译的。您可以添加-m32标志来为32位程序进行编译。
可惜的是,没有提供gdb,您应该手动添加它。
因为根据mingw-64的待办事项清单,gcc multilib版本已经完成,但是gdb multilib版本仍在开发中,您可能会在将来使用它。
在configure和gcc中支持multilib构建。通过使用目标三元组-w64-mingw32,部件已经存在于gcc的4.5版本中。
gdb-存在本机支持,但是诸如多体系结构支持(通过一个gdb调试32位和64位)之类的某些功能仍然缺少功能。