Hello, everyone,
For Qt builds using ICC on Windows with C++14 support enabled got error:
Feature 'c++14' was enabled, but the pre-condition 'features.c++11 && tests.c++14' failed
After some investigations found, that ICC failed test:
#if __cplusplus > 201103L #else # error "__cplusplus must be > 201103L (the value of C++11)" #endif
during configuration. While mingw-w64 passes it successfully.
The source of error is value of '__cplusplus' definition, which is 199711L for ICC, while 201402L for mingw-w64.
Using '-Qstd=c++14' or '-D__cplusplus=201402L' compiler keys didn't solve this issue.
Since ICC 2017 declare support of C++14, it's expected, that '__cplusplus' definition contain appropriate value. As mingw-w64 do. Is it possible to set '__cplusplus' value according to declared ICC features? So there won't be needed to hack various sources in order to skip such C++14 compliance tests.
Environment:
- Windows 10 x64,
- IPSXE 2017 Update 4,
- VS 2015 Update 3,
- Qt-5.9.
Alexander