Тессеракт, связывающий проблему

У меня есть проблема при попытке запустить очень простой пример кода из Tesseract GitHub. Я не знаю, является ли это моей неспособностью выразить себя в поисковых запросах или я слишком глубоко.

У меня есть следующий код, скопированный и вставленный из раздела Пример API на их странице:

#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>

int main()
{
    char *outText;

    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    // Initialize tesseract-ocr with English, without specifying tessdata path
    if (api->Init(NULL, "eng")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        exit(1);
    }

    // Open input image with leptonica library
    Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
    api->SetImage(image);
    // Get OCR result
    outText = api->GetUTF8Text();
    printf("OCR output:\n%s", outText);

    // Destroy used object and release memory
    api->End();
    delete [] outText;
    pixDestroy(&image);

    return 0;
}

Выполнение этого приводит к появлению следующих сообщений об ошибках:

/home/xweque/Documents/home/docThor/main.cpp:8: undefined reference to `tesseract::TessBaseAPI::TessBaseAPI()'
/home/xweque/Documents/home/docThor/main.cpp:16: undefined reference to `pixRead'
/home/xweque/Documents/home/docThor/main.cpp:17: undefined reference to `tesseract::TessBaseAPI::SetImage(Pix*)'
/home/xweque/Documents/home/docThor/main.cpp:19: undefined reference to `tesseract::TessBaseAPI::GetUTF8Text()'
/home/xweque/Documents/home/docThor/main.cpp:23: undefined reference to `tesseract::TessBaseAPI::End()'
/home/xweque/Documents/home/docThor/main.cpp:25: undefined reference to `pixDestroy'
./Debug/main.cpp.o: In function `tesseract::TessBaseAPI::Init(char const*, char const*)':
/usr/include/tesseract/baseapi.h:240: undefined reference to `tesseract::TessBaseAPI::Init(char const*, char const*, tesseract::OcrEngineMode, char**, int, GenericVector<STRING> const*, GenericVector<STRING> const*, bool)'

Я использую CodeLite 10 и g++ как компилятор, официально поддерживается. Я использую следующие как мой единственный путь включения /usr/include/, Оба.h там. Я вполне уверен, что это ошибка компоновки, так как я пробовал другие фрагменты кода, ничего официального и ничего, что я сохранил, поэтому на него не ссылаются, но дает указание.

РЕДАКТИРОВАТЬ

g++ выход:

/tmp/ccgCPJv6.o: In function `main':
main.cpp:(.text+0x38): undefined reference to `Magick::InitializeMagick(char const*)'
main.cpp:(.text+0x47): undefined reference to `Magick::Image::Image()'
main.cpp:(.text+0x84): undefined reference to `Magick::Image::read(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
main.cpp:(.text+0xcc): undefined reference to `Magick::Geometry::Geometry(unsigned int, unsigned int, unsigned int, unsigned int, bool, bool)'
main.cpp:(.text+0xe6): undefined reference to `Magick::Image::crop(Magick::Geometry const&)'
main.cpp:(.text+0xf2): undefined reference to `Magick::Geometry::~Geometry()'
main.cpp:(.text+0x12f): undefined reference to `Magick::Image::write(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
main.cpp:(.text+0x15e): undefined reference to `Magick::Image::~Image()'
main.cpp:(.text+0x1bb): undefined reference to `Magick::Geometry::~Geometry()'
main.cpp:(.text+0x27b): undefined reference to `Magick::Image::~Image()'
/tmp/ccgCPJv6.o:(.gcc_except_table+0x54): undefined reference to `typeinfo for Magick::Exception'
collect2: error: ld returned 1 exit status

РЕДАКТИРОВАТЬ 2

xweque@LM-viktor /usr/lib $ ls -la /usr/lib | grep "tesseract"
-rw-r--r--   1 root   root    6741822 Apr  8  2016 libtesseract.a
lrwxrwxrwx   1 root   root         21 Apr  8  2016 libtesseract.so -> libtesseract.so.3.0.4
lrwxrwxrwx   1 root   root         21 Apr  8  2016 libtesseract.so.3 -> libtesseract.so.3.0.4
-rw-r--r--   1 root   root    3074104 Apr  8  2016 libtesseract.so.3.0.4
xweque@LM-viktor /usr/lib $ ls -la /usr/lib | grep "lept"
-rw-r--r--   1 root   root    4592626 Feb  4  2016 liblept.a
lrwxrwxrwx   1 root   root         16 Feb  4  2016 liblept.so -> liblept.so.5.0.0
lrwxrwxrwx   1 root   root         16 Feb  4  2016 liblept.so.5 -> liblept.so.5.0.0
-rw-r--r--   1 root   root    2370000 Feb  4  2016 liblept.so.5.0.0

Полная команда g++:

g++ -o main /home/xweque/Documents/home/docThor/main.cpp -I/usr/include/ -L/usr/lib/ -llept -ltesseract

0 ответов

Другие вопросы по тегам