C++ 使用poppler在Qt5中链接时出错

C++ 使用poppler在Qt5中链接时出错,c++,linux,qt5,poppler,C++,Linux,Qt5,Poppler,/usr/lib/libpoppler.so.50:未定义对std的引用:uuu抛出_u超出_u范围_ufmtchar常量*,..。@GLIBCXX_3.4.20' Makefile:156:目标“DocViewer”的配方失败 /usr/lib/libsystemd.so.0:未定义的参考tolzma_流_decoder@XZ_5.0' /usr/lib/libQt5Core.so:未定义对_cxa_throw_bad_array_new的引用_length@CXXABI_1.3.8' /us

/usr/lib/libpoppler.so.50:未定义对std的引用:uuu抛出_u超出_u范围_ufmtchar常量*,..。@GLIBCXX_3.4.20' Makefile:156:目标“DocViewer”的配方失败 /usr/lib/libsystemd.so.0:未定义的参考tolzma_流_decoder@XZ_5.0' /usr/lib/libQt5Core.so:未定义对_cxa_throw_bad_array_new的引用_length@CXXABI_1.3.8' /usr/lib/libsystemd.so.0:未定义的引用tolzma_end@XZ_5.0' /usr/lib/libsystemd.so.0:对`lzma'的未定义引用_code@XZ_5.0' collect2:错误:ld返回了1个退出状态 make:**[DocViewer]错误1 20:53:35:进程/usr/bin/make退出,代码为2

我在Qt5中使用poppler编译程序时遇到上述错误

下面是我的项目文件,是否需要更改

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = DocViewer
TEMPLATE = app

INCLUDEPATH  += /usr/include/poppler/qt5
LIBS         += -L/usr/lib -lpoppler-qt5

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

对于uucxa\u throw\u bad\u array\u new_length@CXXABI_1.3.8libicu中出错,问题似乎是icu构建softfp与hardfp不兼容

我也有同样的错误,我通过下载一个重建的ICU来解决,以避免自己重建它

从下载POT二进制文件 . lrzuntar文件 tar xf qtdeps.tar 在设备上,移开libicu*,在我与raspbian的案例中,它位于usr/lib/arm-linux-gnueabihf中,并将libicu*从那边的qtdeps转移 在设备上,使用/usr/include/arm linux gnueabihf/unicode中的raspbian将unicode include dir移出,然后从那边的qtdeps复制unicode include dir。 使用rsync从设备重新同步到sysroot 删除qtbase/src/corelib下名称中包含icu的.o文件后重新配置和重建qtbase,或者从头开始重建Qt
看起来-llzma也丢失了。LIBS+=-L/usr/lib-lpoppler-qt5-llzma类似的东西?是的。但是关于std还有另外一个链接器错误::uuu throw_uout_uof uu range_fmtchar const*,..。@GLIBCXX_3.4.20。这可能与我系统上安装的glibc版本有关。很可能是个问题,是的。尝试安装实际的GCC4.9.2。