当前位置:   article > 正文

error: ‘char16_t’ does not name a type_/unicode/umachine.h:382:13: error: unknown type na

/unicode/umachine.h:382:13: error: unknown type name ‘char16_t’

一、问题描述

最近在编译一个依赖于ICU库的项目时,出现了错误:

/usr/include/unicode/umachine.h:347:13: error: ‘char16_t’ does not name a type
     typedef char16_t UChar;
  • 1
  • 2

二、解决办法

原因是编译器默认的C/C++标准是C98/C++98,那时候还没有char16_t这种类型,故出现了编译错误。因此需要给编译器指定C++的版本,把标准设置到C11/C++11,这样编译就可以编译过了。
若使用cmake,在CMakeLists.txt的project()之前加入这一行:

set(CMAKE_C_STANDARD  11)
set(CMAKE_CXX_STANDARD 11)
  • 1
  • 2

对应的编译器选项为-std=c++11

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/39963?site
推荐阅读
相关标签
  

闽ICP备14008679号