C++ msvcr120.dll处的无效参数错误(在64位Windows中构建Tesseract库)

C++ 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

我已经向Tesseract论坛提出了这个问题,但是我是否能对这个错误有一个线索,我在这个论坛上再次提出了这个问题。因为这是我最喜欢的解决问题的论坛

我遇到了一个与tesseract库有关的问题

问题出在leptonica库中使用的组件之一的libtiff上

我完全按照描述的做了

正在为我的64位windows构建libtiff

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库。现在一切都很顺利