HarmonyOS 鸿蒙Next RN新架构适配鸿蒙化 编译项目一直提示 invalid argument '-std=c++17' not allowed with 'c'
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中也设置了参数,但是一直都不成功。
2 回复
在HarmonyOS(鸿蒙)项目中遇到“invalid argument ‘-std=c++17’ not allowed with ‘c’”的错误通常是因为编译器被错误地配置为用C语言的标准去编译C++代码。确保你的编译命令或Makefile/CMakeLists.txt等构建脚本中针对C++源文件(.cpp)使用的是C++编译器,并且正确设置了C++的标准版本(如C++17)。
检查以下几点:
- 确保.cpp文件没有被错误地作为C文件编译。
- 检查CMakeLists.txt或Makefile中对应的源文件是否被正确分类并使用了C++编译器。
- 验证编译器标志(如
-std=c++17
)是否仅应用于C++源文件。
如果问题依旧没法解决请加我微信,我的微信是itying888。