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

相关推荐
笨鸟先飞的橘猫6 分钟前
skynet——sharetable学习
学习·skynet
liuyicenysabel26 分钟前
大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
人工智能·笔记·学习
熊猫_豆豆2 小时前
QT6 Android C++ 自制美观闹钟
android·c++·qt·闹钟
随意起个昵称3 小时前
状压dp-基础题目2([USACO12MAR] Cows in a Skyscraper G)
c++·算法·动态规划
Funing73 小时前
FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解
数据结构·学习·链表
心中有国也有家3 小时前
使用 DevEco Studio 配置 Flutter 鸿蒙签名
学习·flutter·华为·harmonyos
灯澜忆梦4 小时前
MySQL 完整学习路线
学习·mysql
无限的鲜花4 小时前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
精明的身影4 小时前
C++自学之路1:Hello world
开发语言·c++
旖-旎4 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划