Opencv(C++)学习 ARM上引用opencv报相关头文件找不到

简单问题记录,C 与C++互相引用时应该多注意类似问题。

问题描述 :在项目中,建立了一个interface.h提供了一个C语言兼容的接口void work(),并在对应的interface.cpp中使用OpenCV完成相关处理实现。在PC端测试时,main.cpp成功调用了此接口。然而,在嵌入式环境中,process.c在尝试调用该接口时编译出错,提示OpenCV相关的hpp头文件中的 头文件无法找到。
定位结论 :interface.h直接包含了OpenCV的hpp头文件,而process.c在编译时通过包含interface.h间接引入了这些C++头文件,但GCC编译器对此类C++代码不支持。
解决方案:将OpenCV的头文件引用从interface.h移至interface.cpp中,这样在编译interface.cpp时G++编译器能够正确处理C++相关依赖,从而解决了问题。

相关推荐
傲世仙尊26 分钟前
拷贝构造-传值传参的连锁反应与隐式函数的三个局限
c++
垆边人似月.43 分钟前
华为机试题 :最大数
c++·算法·华为
Dark_Fairy1 小时前
CMeKG_tools 知识图谱项目速成教程(13课共24H)
学习
悟乙己1 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
方便面不加香菜1 小时前
C++ 关于多态的知识点讲解
开发语言·c++
我送炭你添花1 小时前
ASA原理与电子维修实战:前言 一路修来,一路学习
运维·网络·学习
jimy12 小时前
C++ 类成员函数的内联定义(inline)详解
开发语言·c++
JMchen2 小时前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
sanqima2 小时前
CreateThread、_beginthreadex、AfxBeginThread三种线程创建的区别与联系
c++·tls·线程创建
sanqima2 小时前
依赖TLS和模块状态的MFC类
c++·mfc·tls·module state