HarmonyOS 鸿蒙Next RN新架构适配鸿蒙化 编译项目一直提示 invalid argument '-std=c++17' not allowed with 'c'

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next RN新架构适配鸿蒙化 编译项目一直提示 invalid argument ‘-std=c++17’ not allowed with 'c’

我是在进行OP-Engineering/op-sqlite插件鸿蒙化适配,在三方包中有一个文件叫sqlite3.c的文件项目编译的时候一直提示 invalid argument ‘-std=c++17’ not allowed with ‘c’ 不能编译这个sqlite3.c文件。在build-profile.json5中设置c和c++构建参数,在CMarkLists.txt中也设置了参数,但是一直都不成功。

cke_1495.png

2 回复

在HarmonyOS(鸿蒙)项目中遇到“invalid argument ‘-std=c++17’ not allowed with ‘c’”的错误通常是因为编译器被错误地配置为用C语言的标准去编译C++代码。确保你的编译命令或Makefile/CMakeLists.txt等构建脚本中针对C++源文件(.cpp)使用的是C++编译器,并且正确设置了C++的标准版本(如C++17)。

检查以下几点:

  1. 确保.cpp文件没有被错误地作为C文件编译。
  2. 检查CMakeLists.txt或Makefile中对应的源文件是否被正确分类并使用了C++编译器。
  3. 验证编译器标志(如-std=c++17)是否仅应用于C++源文件。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部