Tesseract 3.04.01 可以用 VS2010 编译吗?

Can Tesseract 3.04.01 be compiled with VS2010?

我正在尝试使用 Visual Studio 2010 编译 Tesseract 3.04.01。Tesseract 在其项目根目录中带有一个 vs2010 子文件夹,这让我假设它是要在它下面编译的。

但是,它的源代码使用了可变长度数组(VLA),VS2010绝对不支持。例如这段代码:

static void AddIdTohOCR(STRING* hocr_str, const std::string base, int num1, int num2) {
  unsigned long bufsize = base.length() + 2 * kMaxIntSize;
  char id_buffer[bufsize];

这里id_buffer[bufsize]是一个变长数组

那么有人知道 Tesseract 3.04.01 是否要在 VS2010 下编译吗?我在想他们可能只是忘记删除 VS2010 项目,或者他们可能留下它以便可以将其加载到 Visual Studio 的较新版本中。我尝试使用 VS2012,但同样的代码也失败了,所以它也不支持 VLA。

您的版本可能只落后于他们修复它的几个提交:

  const unsigned long BUFSIZE = 64;
  char id_buffer[BUFSIZE];