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

相关推荐
不想写代码的星星12 小时前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++
樱木Plus2 天前
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
c++
IVEN_3 天前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
blasit4 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
肆忆_5 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星5 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛7 天前
delete又未完全delete
c++
端平入洛8 天前
auto有时不auto
c++
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
哇哈哈20219 天前
信号量和信号
linux·c++