Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 4.7.0
-
None
-
openSUSE Tumbleweed, x86_64, gcc 7.3.1, gcc 8.1.1
Description
Qt Creator does not recognize the std::string_view, std::filesystem::path, etc., because their definitions in the header files are "behind" the macro check:
#if __cplusplus >= 201703L
In the C++ Code Model Inspector in the Toolchain Defines:
#define __cplusplus 201402L
although for a C++17 it must be a 201703L.
A temporary workaround for the Qbs projects, when the cpp.cxxLanguageVersion: "c++17" is defined, is:
cpp.defines: ["__cplusplus=201703L"]
Attachments
Issue Links
- replaces
-
QTCREATORBUG-21073 No longer possible to specify C++ standard level in generic project
-
- Closed
-
For Gerrit Dashboard: QTCREATORBUG-20884 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
238480,3 | Fix conflicting LanguageVersion and value __cplusplus define | 4.7 | qt-creator/qt-creator | Status: MERGED | -2 | 0 |
241267,11 | Toolchains: Detect unspecified language version | 4.8 | qt-creator/qt-creator | Status: MERGED | -2 | 0 |