OpenCV C使用问题

在开发板上安装了OpenCV 3.4,因为使用OpenGL ES 2.0的问题,使用cpp会造成编译错误,所以项目开始就使用C编码,当开始加入图片处理功能的时候(基于OpenCV)又出问题了,编译提示

/usr/include/opencv2/core/cvdef.h:509:1: error: unknown type name ‘namespace’
 namespace cv {
 ^
/usr/include/opencv2/core/cvdef.h:509:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 namespace cv {

阅读/usr/include/opencv2/core/cvdef.h代码后发现是有一个宏控制的,

// Integer types portatibility
#ifdef OPENCV_STDINT_HEADER
#include OPENCV_STDINT_HEADER
#else
#if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */
namespace cv {
...
#endif

需要在编译命令gcc -c ... 加上-DOPENCV_STDINT_HEADER="<stdint.h>"

原文地址:https://www.cnblogs.com/darkise/p/8807648.html