Можно ли скомпилировать Tesseract ORC как чистый C, не связывая стандартную библиотеку C ++?
Я скомпилировал Tesseract , следуя приведенным здесь инструкциям , который работал нормально. Но когда я связал его с программой sample c из документа , он дал мне следующие ошибки:
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in libtesseract.a(libtesseract_api_la-baseapi.o)
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in libtesseract.a(libtesseract_api_la-baseapi.o)
"std::__1::cin", referenced from:
tesseract::TessBaseAPI::ProcessPagesInternal(char const*, char const*, int, tesseract::TessResultRenderer*) in libtesseract.a(libtesseract_api_la-baseapi.o)
Очевидно, он пытается связать стандартную библиотеку C ++. Можно ли скомпилировать как чистый c, без стандартной библиотеки C ++? В конце концов я хочу кросс-компиляцию для arm-7 без стандартной поддержки lib.
Вот мой make-файл (И нет, ответ не превращать gcc в g ++. Я хочу скомпилировать как c):
CFLAGS = -c -Wall -I../src/api/ -I../src/ccstruct -I../src/ccutil -I../leptonica/src/ -I../leptonica/build/src
default: main
main.o: main.c
gcc $(CFLAGS) -c main.c -o main.o
main: main.o
gcc main.o ../leptonica/lib/nodebug/liblept.a ../src/api/.libs/libtesseract.a -o main
clean:
-rm -f *.o
-rm -f main