2011-10-25 36 views
2

我用下面的配置與Qt4.7.3編譯在我的Mac OS-X 10.6 poppler的庫:錯誤在poppler的庫配置

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

它成功配置,然後我make它,然後make install它。

然後我嘗試使用靜態庫在我的應用程序如下:

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變量?或者還有其他問題嗎?

+0

如果這是您使用的確切代碼,那麼'/ user/local/include/poppler'中是否存在拼寫錯誤?不應該是'/ usr/local/include/poppler'嗎? – landroni

回答

0

poppler的具有可以使用下面的命令列出幾個依賴:

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

onetwo人類似問題,以及third與歷史洞察力。

+0

在Linux上是否有'otool'等價物? – landroni

+0

在[無關問題]中引用了一些類似的命令(http://stackoverflow.com/questions/6242761/)。 –