C++ msvcr120.dll处的无效参数错误(在64位Windows中构建Tesseract库)
我已经向Tesseract论坛提出了这个问题,但是我是否能对这个错误有一个线索,我在这个论坛上再次提出了这个问题。因为这是我最喜欢的解决问题的论坛 我遇到了一个与tesseract库有关的问题 问题出在leptonica库中使用的组件之一的libtiff上 我完全按照描述的做了 正在为我的64位windows构建libtiffC++ msvcr120.dll处的无效参数错误(在64位Windows中构建Tesseract库),c++,tesseract,tiff,libtiff,leptonica,C++,Tesseract,Tiff,Libtiff,Leptonica,我已经向Tesseract论坛提出了这个问题,但是我是否能对这个错误有一个线索,我在这个论坛上再次提出了这个问题。因为这是我最喜欢的解决问题的论坛 我遇到了一个与tesseract库有关的问题 问题出在leptonica库中使用的组件之一的libtiff上 我完全按照描述的做了 正在为我的64位windows构建libtiff C:\LIBTIFF\LIBTIFF> nmake /f makefile.vc C:\LIBTIFF\LIBTIFF> cd ..\tools C:\LIB
C:\LIBTIFF\LIBTIFF> nmake /f makefile.vc
C:\LIBTIFF\LIBTIFF> cd ..\tools
C:\LIBTIFF\TOOLS> nmake /f makefile.vc
构建是可以的。
使用tiff库,我为64位窗口构建了leptonica库和tessearact库。
使用tesseract lib运行应用程序后,我在tiff lib中得到错误,错误为
“TessarActOCR_test.exe中0x00007FFA966FDD27(msvcr120.dll)处未处理的异常:向认为无效参数致命的函数传递了无效参数。”
错误发生在lseek的以下函数中。该功能位于tiffio.c
static TIFF *
fopenTiff(FILE *fp,tif_win32.c
const char *modestring)
{
l_int32 fd;
PROCNAME("fopenTiff");
if (!fp)
return (TIFF *)ERROR_PTR("stream not opened", procName, NULL);
if (!modestring)
return (TIFF *)ERROR_PTR("modestring not defined", procName, NULL);
if ((fd = fileno(fp)) < 0)
return (TIFF *)ERROR_PTR("invalid file descriptor", procName, NULL);
lseek(fd, 0, SEEK_SET);
return TIFFFdOpen(fd, "TIFFstream", modestring);
}
静态TIFF*
fopenTiff(文件*fp,tif_win32.c
常量字符*字符串)
{
l_int32 fd;
PROCNAME(“fopenTiff”);
如果(!fp)
返回(TIFF*)错误提示(“流未打开”,procName,NULL);
如果(!环)
返回(TIFF*)错误\u PTR(“未定义虚设”,procName,NULL);
如果((fd=fileno(fp))<0)
返回(TIFF*)错误\u PTR(“无效文件描述符”,procName,NULL);
lseek(fd,0,SEEK_集);
返回TIFFDFOPEN(fd,“TIFFstream”,数字串);
}
这个错误可能有什么问题?现在我解决了所有问题,tesseract库在我的64位pc和项目上工作。我的解决方案是在准备依赖项的过程中,按照本文中的讨论逐步进行。然后构建leptonica库,然后链接到tesseract以构建tesseract库。现在一切都很顺利