msvcr120.dll上的无效参数错误(在64位Windows中构建Tesseract Lib)

时间:2015-05-11 04:36:08

标签: c++ tesseract tiff libtiff leptonica

我已经向Tesseract论坛提出了询问,但是我是否可以找到错误的线索,我再次在这个论坛上提出问题。因为这是我最喜欢的解决问题的论坛。

我有一个与tesseract lib有关的问题。

问题在于libtiff leptonica库中使用的组件之一。

我完全按照here

所描述的内容进行操作

为我的64位窗口构建libtiff。

C:\LIBTIFF\LIBTIFF> nmake /f makefile.vc
C:\LIBTIFF\LIBTIFF> cd ..\tools
C:\LIBTIFF\TOOLS> nmake /f makefile.vc

构建没问题。 使用tiff lib和我为64位窗口构建了leptonica lib和tessearact lib。 一旦我使用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);
}

此错误可能有什么问题?

1 个答案:

答案 0 :(得分:0)

现在我解决了所有问题,并且我的64位个人计算机和项目正在运行。对于我来说,解决方案是在准备依赖项期间按照此link中的讨论逐步进行的。然后构建leptonica lib,然后链接到tesseract以构建tesseract lib。现在一切都运转良好。