问题详情
如何修改C++语言版本,现在支持哪些C++标准。
解决措施
-
libc++版本
从HarmonyOS 3.0开始,libc++使用clang/llvm 10.0.1版本。
从HarmonyOS 3.2开始,libc++升级到clang/llvm 12.0.1版本。
从HarmonyOS NEXT Developer Preview0开始,libc++升级到clang/llvm 15.0.4版本。
-
C++语言支持能力
C++11、C++14标准已完全支持,C++17和C++20标准正在完善。
-
如何修改C++语言版本
SDK默认C++版本是14,如若修改,参考以下两种方式:
-
在CMakelists.txt文件中添加版本设置。
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
# 添加下面这行
set(CMAKE_CXX_STANDARD 17)
- 修改模块级的build-profile.json5文件,添加““cppFlags”: “–std=c++17””。
"buildOption": {
"externalNativeOptions": {
"path": "./src/main/cpp/CMakeLists.txt",
"arguments": "",
// 修改下面这一行
"cppFlags": "--std=c++17",
}
}