Ошибка в конфигурации Poppler Lib - PullRequest
2 голосов
/ 25 октября 2011

Я использую следующую конфигурацию для компиляции библиотеки Poppler на моем Mac OS-X 10.6 с Qt4.7.3:

./configure --enable-poppler-qt4 --enable-static --enable-poppler-cpp --enable-zlib

Она успешно настраивается, затем я make этои затем make install it.

Затем я пытаюсь использовать статическую библиотеку в своем приложении следующим образом:

INCLUDEPATH+=/user/local/include/poppler
LIBS+=/usr/local/lib/libpoppler-cpp.a
LIBS+=/usr/local/lib/libpoppler-qt4.a
LIBS+=/usr/local/lib/libpoppler.a
LIBS+=/usr/local/lib/libfontconfig.a

Но когда я компилирую свое приложение, я получаю следующие сообщения об ошибках:

Undefined symbols:
  "_FT_Get_Sfnt_Name_Count", referenced from:
      _FcFreeTypeQueryFace in libfontconfig.a(fcfreetype.o)
  "_FT_Outline_Get_CBox", referenced from:
      SplashFTFont::makeGlyph(int, int, int, SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)in libpoppler.a(SplashFTFont.o)
  "_FT_Library_Version", referenced from:
      SplashFTFontEngine::SplashFTFontEngine(bool, bool, bool, FT_LibraryRec_*)in libpoppler.a(SplashFTFontEngine.o)
  "_XML_SetUserData", referenced from:
      _FcConfigParseAndLoad in libfontconfig.a(fcxml.o)
  "_FT_Done_Face", referenced from:
      _FcFreeTypeQuery in libfontconfig.a(fcfreetype.o)
      SplashFTFontFile::~SplashFTFontFile()in libpoppler.a(SplashFTFontFile.o)
      SplashFTFontFile::~SplashFTFontFile()in libpoppler.a(SplashFTFontFile.o)
  "QDomDocument::createCDATASection(QString const&)", referenced from:
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::TextAnnotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
  "_FT_Load_Glyph", referenced from:
      _FcFreeTypeCheckGlyph in libfontconfig.a(fcfreetype.o)
      SplashFTFont::getGlyphAdvance(int)    in libpoppler.a(SplashFTFont.o)
      SplashFTFont::getGlyphPath(int)    in libpoppler.a(SplashFTFont.o)
      SplashFTFont::makeGlyph(int, int, int, SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)in libpoppler.a(SplashFTFont.o)
  "QDomNode::appendChild(QDomNode const&)", referenced from:
      Poppler::DocumentData::addTocChildren(QDomDocument*, QDomNode*, GooList*)     in libpoppler-qt4.a(libpoppler_qt4_la-poppler-private.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::Annotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::MovieAnnotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::SoundAnnotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)
      Poppler::FileAttachmentAnnotation::store(QDomNode&, QDomDocument&) constin libpoppler-qt4.a(libpoppler_qt4_la-poppler-annotation.o)

Я ошибаюсь ни в команде конфигурации, ни в переменных INCLUDE / LIBPATH?Или что-то еще не так?

1 Ответ

0 голосов
/ 19 сентября 2012

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

 otool -L /opt/local/lib/libpoppler.19.dylib

Есть один или два людей с похожими проблемами, а также третий с историческим пониманием.

...