klamauk 发表于 2021-9-9 20:16

QT中怎么使用C++20标准?

QT中怎么使用C++20标准?
我在pro文件中尝试过CONFIG += c++20和CONFIG += c++2a
但是std::chrono::current_zone();依然不能使用。已包含<chrono>,编译是2019的MSVC。

Eaglecad 发表于 2021-9-9 20:32

.pro里 加 std或者gnu

klamauk 发表于 2021-9-9 20:47

Eaglecad 发表于 2021-9-9 20:32
.pro里 加 std或者gnu

是这样吗?CONFIG += std::c++20
但是std::chrono::current_zone();依然用不了。

小小随 发表于 2021-9-9 23:14

需要你的gcc版本> 10

Eaglecad 发表于 2021-9-9 23:42

klamauk 发表于 2021-9-9 20:47
是这样吗?CONFIG += std::c++20
但是std::chrono::current_zone();依然用不了。

config += c++2a就可以

JuncoJet 发表于 2021-9-10 09:45

可能需要单独升级gcc版本

klamauk 发表于 2021-9-10 11:40

Eaglecad 发表于 2021-9-9 23:42
config += c++2a就可以

我在pro文件中修改config += c++2a或config += c++20,保存后立刻编译可以通过。但是修改源码后再编译时,c++20那些东西就是各种报错。qt是5.14。现在改用vs2019+qt了。

Eaglecad 发表于 2021-9-11 01:58

klamauk 发表于 2021-9-10 11:40
我在pro文件中修改config += c++2a或config += c++20,保存后立刻编译可以通过。但是修改源码后再编译时 ...

QT编译,取决于你构建套件里的配置,你看看配置里的编译器,是否支持20标准。

klamauk 发表于 2021-9-11 10:56

Eaglecad 发表于 2021-9-11 01:58
QT编译,取决于你构建套件里的配置,你看看配置里的编译器,是否支持20标准。

vs2019的肯定支持,可能是qt 5.14使用的qmake是2017的问题。有时间下个新一点的qt试试。

Eaglecad 发表于 2021-9-11 13:45

klamauk 发表于 2021-9-11 10:56
vs2019的肯定支持,可能是qt 5.14使用的qmake是2017的问题。有时间下个新一点的qt试试。

可以装个windows版本的gcc编译器就可以了,比如mingw,codeblock,tdm等。
页: [1] 2
查看完整版本: QT中怎么使用C++20标准?