__MINGW64__未定义?或者我怎么知道要使用哪种线程模型?

时间:2018-08-09 15:21:09

标签: mingw-w64

我正在尝试使我们产品的Windows版本复活,但尝试移至MingW64以获得更好的c ++线程体验。但是,当然,我不想只丢弃旧的#include winpthreads代码。我想要一个ifdef。

我读到的所有内容都说应该定义 MINGW64 ,但是eclipse看不到它,命令行也看不到:

C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32>echo | bin\gcc -E -dM - | find "MING"
#define __MINGW32__ 1

那么这是我,还是这样?还是我仍然以某种方式看到我的旧mingw(32)安装?

1 个答案:

答案 0 :(得分:0)

简单的答案。

如果您安装mingw64,则同时定义了__MINGW32____MINGW64__,我现在可以确认,但,如果您 实际上 安装64位版本。

很遗憾,鉴于mingw64 fork在64位平台上更好,因此默认值为32位安装,由无用的名称“ i686”标识。您将需要使用“ x86_64”选项。