我正在尝试使用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。
答案 0 :(得分:1)
你的版本可能只是他们修复它的一些提交:
const unsigned long BUFSIZE = 64;
char id_buffer[BUFSIZE];