tesseract Remove_Reference模糊符号在visual studio 2012上的项目中

Ric*_*rdo 4 c++ opencv tesseract visual-studio-2012

我将更详细地描述我的情况.我正在建立一个识别车牌的系统,使用C + +,OpenCV,Tesserect,但是当我编译代码时,它会向我返回一堆错误的模糊引用,所以我检查了我的代码的所有行.我搜索了这个小组的解决方案,并尝试了几个没有成功.

问题:

error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1011
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1030
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1061
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1105
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1136
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1179
error C2872 : ' Remove_Reference ' : ambiguous symbol File: tesscallback.h Line : 1208
Run Code Online (Sandbox Code Playgroud)

使用的软件:

MS visual studio 2012
Path to visual studio : " C : \ Program Files ( x86 ) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ devenv.exe "
OpenCV version: 2.4.8
OS: Windows 7 Home Premium , 64 -bit
Core i7
Tesseract version: tesseract - 2.3.02 - win32 - lib -include -dirs ( tested other versions )
Inguagem used : C + +11
Run Code Online (Sandbox Code Playgroud)

感谢帮助

小智 5

我一直遇到麻烦了几天同样的问题(我正在使用tesseract工作板识别项目)我刚刚解决了它.删除"使用命名空间XXX"代码来自你的头文件(.h)(如果导致.h文件中的错误通过使用std :: vector或cv :: Mat等来容忍它们)并使用"使用命名空间XXX"CODE LINES IN您的源代码(.cpp文件).

我提到这个链接:http://bytes.com/topic/net/answers/456267-idataobject-ambiguous-symbol-error

对不起我的英语:)


Sha*_*awn 5

问题是最新的 C++ 有一个remove_referencein的定义std,并且tesscallback.h包含另一个定义。当您使用 时using namespace std,编译器会因重新定义而报错。

您可以全部删除using namespace std并使用std::(推荐和解释here)或取消注释全部definitions of remove_referencetesscallback.h