使用MinGW(Dev-C++)编译64位二进制文件

20

这可能是个愚蠢的问题,但我已经寻找答案约三小时了。

如何使用(Dev-C++) MinGW编译64位二进制文件?

我读到MinGW默认支持64位,但我无法激活此选项。

我尝试了"-m64",但它说:"对不起,未实现:未编译64位模式"

我正在Windows-7上使用Dev-C++。

我知道如何在MSVC++上做到这一点,但我不想使用MSVC++(因为伦理问题)。

我只是为了测试而尝试编译什么:

#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{   
    // Test compiling mode
    if (sizeof(void*) == 8) cout << "Compiling 64-bits" << endl;
    else cout << "Compiling 32-bits" << endl;

    return 0;
}

1
你使用的是哪个版本的MinGW?似乎有一个专门针对64位的发行版。 - doctorlove
5
+1 是指:“我不想使用MSVC++(因为道德问题)” - nikolas
@doctorlove MinGW GCC 4.7.2 32位 - Adrian Maire
1
@AdrianMaire 我添加了一些更详细的信息,你可以尝试一下,可能会更容易。 - greatwolf
1个回答

18

在Windows上构建64位二进制文件,需要使用64位版本的mingw编译器。其中一种可用的发行版是Mingw-W64。你可以在这里找到下载列表。

此外,你还可以在Orwell Dev-C++的下载部分找到附带mingw 64位编译器的Dev-C++设置。确保你选择“TDM-GCC x64 4.7.1”(安装版或便携版)。


谢谢您!我已经尝试安装Mingw-W64但是出现了错误(似乎无法访问它的存储库,可能是服务器暂时出了问题)。第二个选项运行良好。 - Adrian Maire
2
@Adrian Maire MinGW w64是一个非常好的编译器,我经常使用它。mingwbuilds提供了最好的通用构建,并被许多航空航天和汽车行业使用。您可以在此处找到他们的64位构建:http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.3.0/,其中包括seh和sjlj的支持,以及posix和win32线程模型。 - Jonathan
Orwell DevCpp做到了!当然,也可以使用TDM-GCC的更高版本。 - Per Lindberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接