【问题标题】:error: conflicting declaration 'typedef struct tagBLOB BLOB' in c++ when I use tesseract engine错误:当我使用 tesseract 引擎时,C++ 中的声明“typedef struct tagBLOB BLOB”冲突
【发布时间】:2017-08-07 12:54:11
【问题描述】:

我正在使用带有 openCV3.0 的 tesseract 引擎。 当我使用时:

 #include <tesseract\baseapi.h>

显示:

x86_64-w64-mingw32-g++.exe -Wall -fexceptions -O2 -std=c++11 -DDLIB_PNG_SUPPORT -DLIB_PNG_SUPPORT -IC:\tesseract\tesseract\include -IC:\tesseract\tesseract\include\leptonica - IC:\tesseract\tesseract\include\tesseract -c F:\freelancer\RajivCK\test\ocrtest2\main.cpp -o obj\Release\main.o 在 C:/TDM-GCC-64/x86_64-w64-mingw32/include/combaseapi.h:153:0 包含的文件中, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/objbase.h:14, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/ole2.h:17, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/wtypes.h:12, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/winscard.h:10, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/windows.h:97, 从 C:\tesseract\tesseract\include/tesseract\host.h:25, 从 C:\tesseract\tesseract\include/tesseract\tesscallback.h:22, 从 C:\tesseract\tesseract\include/tesseract\baseapi.h:31, 来自 F:\freelancer\RajivCK\test\ocrtest2\main.cpp:1: C:/TDM-GCC-64/x86_64-w64-mingw32/include/wtypesbase.h:385:3: 错误:冲突声明'typedef struct tagBLOB BLOB' } 块; ^ 在 C:\tesseract\tesseract\include/tesseract\baseapi.h:27:0 包含的文件中, 来自 F:\freelancer\RajivCK\test\ocrtest2\main.cpp:1: C:\tesseract\tesseract\include/tesseract\platform.h:30:3: 注意:之前的声明为 'typedef struct _BLOB BLOB' } BLOB,LPBLOB; ^ 在 C:/TDM-GCC-64/x86_64-w64-mingw32/include/combaseapi.h:153:0 包含的文件中, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/objbase.h:14, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/ole2.h:17, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/wtypes.h:12, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/winscard.h:10, 来自 C:/TDM-GCC-64/x86_64-w64-mingw32/include/windows.h:97, 从 C:\tesseract\tesseract\include/tesseract\host.h:25, 从 C:\tesseract\tesseract\include/tesseract\tesscallback.h:22, 从 C:\tesseract\tesseract\include/tesseract\baseapi.h:31, 来自 F:\freelancer\RajivCK\test\ocrtest2\main.cpp:1: C:/TDM-GCC-64/x86_64-w64-mingw32/include/wtypesbase.h:386:25: 错误:冲突声明'typedef struct tagBLOB LPBLOB' typedef struct tagBLOB LPBLOB; ^ 在 C:\tesseract\tesseract\include/tesseract\baseapi.h:27:0 包含的文件中, 来自 F:\freelancer\RajivCK\test\ocrtest2\main.cpp:1: C:\tesseract\tesseract\include/tesseract\platform.h:30:10: 注意:之前的声明为 'typedef struct _BLOB LPBLOB' } 斑点,*LPBLOB; '

tesseract 引擎的指南是从这个link 使用的。

【问题讨论】:

  • 您能否尝试创建失败代码的Minimal, Complete, and Verifiable Example,然后编辑您的问题以向我们展示?当你这样做时,还请复制粘贴 fullcomplete 错误输出(包括任何可能的信息说明)。
  • 这个错误告诉我们你有两个同名的声明。但是,由于缺乏有关该问题的信息,我们无法提供更多信息。您可以检查您的包含列表,看看它们是否相互冲突...
  • 我按照上面链接中的示例进行操作。上面的问题被编辑为完全错误。

标签: c++ codeblocks tesseract


【解决方案1】:

我使用了错误的二进制文件,这些二进制文件不是为我的操作系统预构建的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2012-05-09
    相关资源
    最近更新 更多