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++相关依赖,从而解决了问题。

相关推荐
优雅鹅8 分钟前
ARM、AArch64、amd64、x86_64、x86有什么区别?
arm开发·学习
..过云雨12 分钟前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中27 分钟前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui
小王爱学人工智能1 小时前
OpenCV一些进阶操作
人工智能·opencv·计算机视觉
老赵的博客2 小时前
c++ unqiue指针
java·jvm·c++
程序猿编码2 小时前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备
怎么没有名字注册了啊3 小时前
MFC_Install_Create
c++·mfc
兔子不吃草~3 小时前
Transformer学习记录与CNN思考
学习·cnn·transformer
Wadli3 小时前
C++语法 | static静态|单例模式
开发语言·c++·单例模式
山烛4 小时前
OpenCV:图像透视变换
人工智能·opencv·计算机视觉·图像透视变换