Makefile g++6.3启用松弛的constexpr

Makefile g++6.3启用松弛的constexpr,makefile,g++,c++17,Makefile,G++,C++17,我使用的是GCC6.3.0,特别是MinGW,不过我也想支持linux。我的代码具有有效的constexpr函数。我使用的库在函数声明中使用一个宏,该宏具有constexpr电位,只有当_具有featurecxx Released constexpr时才定义为constexpr。虽然我知道所讨论的库函数可以正确地与定义的宏一起工作,但它没有被定义为constexpr,因为显然mingw g++和real g++在默认情况下没有启用该功能。我想让g++启用该标志,希望通过makefile中的cli

我使用的是GCC6.3.0,特别是MinGW,不过我也想支持linux。我的代码具有有效的constexpr函数。我使用的库在函数声明中使用一个宏,该宏具有constexpr电位,只有当_具有featurecxx Released constexpr时才定义为constexpr。虽然我知道所讨论的库函数可以正确地与定义的宏一起工作,但它没有被定义为constexpr,因为显然mingw g++和real g++在默认情况下没有启用该功能。我想让g++启用该标志,希望通过makefile中的cli标志,这样我就不必修改库头了

如果可能的话,constexpr if和/或constexpr也很好


我能找到的最相关的SO帖子是,没有人回答。

你需要一台更好的时间机器

GCC 6.3于2016年12月21日发布。 C++17标准直到2017年底才发布。
这说明constexpr if首次在gcc 7中提供。

好的,我正在查看2017年9月更新的版本,但我想mingw落后于真正的gcc是有道理的。问题是这是mingw gcc的最新版本。除了VS/MSBuw之外,还有什么Windows的C++端口吗?因此,mingw安装经理说mingw gcc的存储库版本是6.3.0,与sourceforge页面一致。我刚刚进行了一次干净的安装,现在我使用的是9.2.0。显然,mingw的更新管道有问题。不管怎样,我现在已经克服了这个问题。