无法解析类型“zbar_image_t”

Can't resolve type `zbar_image_t`

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

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

zbar_image_tzbar.h中定义如下:

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

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

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

下载

CLion 让我想起了

Can't resolve type zbar_image_t

当我 make

时出错

error: ‘zbar_image_t’ does not name a type

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

koala 是一个 C++ 项目。

好像所有头文件都正常包含了。

我自己解决了。

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

#ifdef __cplusplus

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

考拉项目使用C++,所以using namespace zba;再使用。