【发布时间】:2015-03-28 15:30:54
【问题描述】:
/usr/lib/libpoppler.so.50:未定义对
std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20' Makefile:156: recipe for target 'DocViewer' failed /usr/lib/libsystemd.so.0: undefined reference tolzma_stream_decoder@XZ_5.0' 的引用 /usr/lib/libQt5Core.so:对__cxa_throw_bad_array_new_length@CXXABI_1.3.8' /usr/lib/libsystemd.so.0: undefined reference 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
【问题讨论】:
-
看起来
-llzma也不见了。 -
LIBS += -L/usr/lib -lpoppler-qt5 -llzma是这样的吗? -
是的。但是还有关于
std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20的其他链接器错误。 -
会不会和我系统上安装的
glibc版本有关。 -
很可能是个问题,是的。尝试安装实际的 GCC 4.9.2。