MinGW GCC——单个 32 位和 64 位交叉编译器?

发布于 2024-10-22 02:20:59 字数 429 浏览 2 评论 0原文

我已经使用 mingw-get-inst< 下载了 MinGW /a>,现在我注意到它无法编译为 x64。

那么是否有 32 位 二进制 版本的 MinGW 编译器既可以为 32 位 Windows 编译,也可以为 64 位 Windows 编译?

我不想要可以生成 32 位代码的 64 位版本,因为我希望编译器也可以在 32 位 Windows 上运行,并且我只是在此处查找预编译的二进制文件,而不是源文件,因为我'我花了无数个小时编译 GCC 但失败了,我已经放弃了一段时间了。 :(

I've downloaded MinGW with mingw-get-inst, and now I've noticed that it cannot compile for x64.

So is there any 32-bit binary version of the MinGW compiler that can both compile for 32-bit Windows and also for 64-bit Windows?

I don't want a 64-bit version that can generate 32-bit code, since I want the compiler to also run on 32-bit Windows, and I'm only looking for precompiled binaries here, not source files, since I've spent countless hours compiling GCC and failing, and I've given up for a while. :(

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

秋凉 2024-10-29 02:20:59

AFAIK mingw 针对 32 位 Windows 或 64 位 Windows,但不能同时针对两者,因此您需要安装两次。后者仍被认为是测试版。

对于您来说,您想要的是 mingw-w64-bin_i686-mingwmingw-w64-bin_i686-cygwin 如果您想针对 windows 64 进行编译。对于 win32,只需使用您通过 mingw-get-inst 获得的内容即可。

请参阅http://sourceforge.net/apps/trac/mingw-w64/wiki/download %20filename%20struct 用于文件名的解释。

AFAIK mingw targets either 32 bit windows or 64 bit windows, but not both, so you would need two installs. And the latter is still considered beta.

For you what you want is either mingw-w64-bin_i686-mingw or mingw-w64-bin_i686-cygwin if you want to compile for windows 64. For win32, just use what you get with mingw-get-inst.

See http://sourceforge.net/apps/trac/mingw-w64/wiki/download%20filename%20structure for an explanation of file names.

污味仙女 2024-10-29 02:20:59

我意识到这是一个老问题。然而,这与该问题多次重复有关。

经过大量研究,我发现,几年后的今天,从存储库(即突触)安装 mingw 时,通常会默认安装这两个编译器。

您可以通过运行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

我希望此页面的许多链接可以为许多程序员节省一些搜索时间。

I realize this is an old question. However it's linked to the many times the question has been repeated.

I have found, after lots of research that, by now, years later, both compilers are commonly installed by default when installing mingw from your repository (i.e. synaptic).

You can check and verify by running Linux's locate command:

 $ locate -r "mingw32.*[cg]++$"

On my Ubuntu (13.10) install I have by default the following compilers to choose from... found by issuing the locate command.

/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++

Finally, the least you'd have to do on many systems is run:

$ sudo apt-get install gcc-mingw32

I hope the many links to this page can spare a lot of programmers some search time.

二智少女 2024-10-29 02:20:59

对于您的情况,您可以下载 Mingw64 的 multilib(包括 lib32 和 lib64)版本:

Multilib 工具链(针对 Win32 和 Win64)

默认情况下,它是为 64 位编译的。您可以添加 -m32 标志来编译 32 位程序。

但遗憾的是,没有提供 gdb,你应该手动添加它。

因为根据 mingw-64 的待办事项列表,gcc multilib 版本已完成,但 gdb
multilib版本仍在开发中,也许将来你可以使用它。

支持在configure 和gcc 中构建multilib。通过使用目标三元组 -w64-mingw32,这些部件已存在于 gcc 4.5 版本中。

gdb -- 存在本机支持,但仍然缺少一些功能,例如多架构支持(通过一个 gdb 调试 32 位和 64 位)。

mingw-64-todo-list

for you situation, you can download multilib (include lib32 and lib64) version for Mingw64:

Multilib Toolchains(Targetting Win32 and Win64)

By default it is compiled for 64bit.You can add -m32 flag to compile for 32bit program.

But sadly,no gdb provided,you ought to add it manually.

Because according to mingw-64's todo list, gcc multilib version is done,but gdb
multilib version is still in progress,you could use it maybe in the future.

Support of multilib build in configure and in gcc. Parts are already present in gcc's 4.5 version by using target triplet -w64-mingw32.

gdb -- Native support is present, but some features like multi-arch support (debugging 32-bit and 64-bit by one gdb) are still missing features.

mingw-64-todo-list

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文