Я использую версию MinGW-w64, помеченную как x86_64-8.1.0-posix-seh-rt_v6-rev0
. При запуске g++ --version
я вижу следующее:
g++.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Насколько я понимаю, эта версия g ++ должна генерировать 64-разрядные двоичные файлы по умолчанию.
Команда компилятора выглядит следующим образом:
g++.exe -std=c++17 -g main.cpp -o main.exe
Однако, если main.cpp
выглядит так:
#include <iostream>
int main() {
std::cout << sizeof(long);
return 0;
}
Он печатает 4
вместо 8
. Я пытался использовать флаг компилятора -m64
, но он ничего не изменил.
Что я делаю не так и как это исправить?