首页 > 解决方案 > 无法解析类型`zbar_image_t`

问题描述

#include <iostream>
#include <zbar.h>

class BarcodeManager {
private:
    int32_t verbose;
    zbar_image_t *img;
};

zbar_image_t定义zbar.h如下:

struct zbar_image_s;
/** opaque image object. */
typedef struct zbar_image_s zbar_image_t;

include_directories(${CMAKE_SOURCE_DIR}/include)我在 CMakeLists.txt 中包含了头文件 zbar.h。

ZBar 是一个开源软件套件,我在https://github.com/ZBar/ZBar/archive/0.10.tar.gz下载

克利翁提醒我

无法解析类型zbar_image_t

当我出错时make

错误:“zbar_image_t”没有命名类型

我在 CMakeLists.txt 中打开详细选项set(CMAKE_VERBOSE_MAKEFILE ON),然后看到-I/home/kgbook/koala -I/home/kgbook/koala/include.

koala 是一个 C++ 项目。

似乎所有头文件都正常包含。

标签: c++zbar

解决方案


我自己解决了。

我分析了一下zbar.h,找到了。

#ifdef __cplusplus

/** C++ namespace for library interfaces */
namespace zbar {
    extern "C" {
#endif

koala项目使用C++,所以using namespace zba;在使用之前。


推荐阅读