Код: Выделить всё
ocr.c: In function ‘main’:
ocr.c:20:36: error: invalid use of undefined type ‘struct Pixa’
20 | TessBaseAPISetImage2(api, image->pix[0]);
|
Для справки, вот упрощенный код:
Код: Выделить всё
#include
#include
#include
#include
#include
int main(int argc, char** argv) {
struct Pixa *image = pixaReadMultipageTiff("multi.tiff");
TessBaseAPI *api = TessBaseAPICreate();
TessBaseAPIInit3(api, NULL, "eng");
TessBaseAPISetImage2(api, image->pix[0]);
TessBaseAPIRecognize(api, NULL);
const char *text = TessBaseAPIGetUTF8Text(api);
puts(text);
TessDeleteText(text);
TessBaseAPIEnd(api);
TessBaseAPIDelete(api);
pixaDestroy(&image);
return EXIT_SUCCESS;
}
Код: Выделить всё
gcc -std=gnu23 -g -ggdb -Wall -I. -I/usr/include/x86_64-linux-gnu -I/usr/local/include ocr.c -ltesseract -lleptonica -o ocr
Код: Выделить всё
ocr.c: In function ‘int main(int, char**)’:
ocr.c:23:24: error: invalid use of incomplete type ‘struct Pixa’
23 | api->SetImage(image->pix[0]);
| ^~
In file included from ocr.c:10:
/usr/include/tesseract/baseapi.h:36:8: note: forward declaration of ‘struct Pixa’
36 | struct Pixa;
| ^~~~
Это касается Leptonica 1.84, Tesseract 5.5.0 и gcc/g++ 14.2.0 в Debian 13.
Подробнее здесь: https://stackoverflow.com/questions/798 ... truct-pixa
Мобильная версия