Можно ли скомпилировать Tesseract 3.04.01 с VS2010?

Я пытаюсь скомпилировать Tesseract 3.04.01 с помощью Visual Studio 2010. 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.


person sashoalm    schedule 01.07.2016    source источник
comment
Привет. Решили вашу проблему? Вы скомпилировали Tesseract с VS2010? Если да, то не могли бы вы помочь мне сделать то же самое?   -  person flaviu2    schedule 24.09.2018
comment
Принятый ответ уже все объясняет. Вы смотрели на это?   -  person sashoalm    schedule 24.09.2018


Ответы (1)


Ваша версия, вероятно, всего на несколько коммитов отстает от того места, где они ее исправили:

  const unsigned long BUFSIZE = 64;
  char id_buffer[BUFSIZE];
person nguyenq    schedule 01.07.2016
comment
Я нашел коммит, даже комментарий Fix varsize array for Microsoft compiler. - person sashoalm; 01.07.2016