未定义的符号'gzclose'的引用

时间:2016-12-17 00:19:03

标签: c++ qt opencv qt-creator

我想这是一个链接器错误,但我花了很多时间并且找不到合适的答案。我有一个OpenCV C ++程序,当我尝试编译样式cv::Mat newMatObject;的某些内容时,它会给我一个错误/usr/local/lib/libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose'

.pro文件包含以下行:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = QtTest
TEMPLATE = app

INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lz -ltbb -ltiff

SOURCES += main.cpp\
        qttest.cpp

HEADERS  += qttest.h

FORMS    += qttest.ui

遗忘/做错了什么

一些信息:

  • Kubuntu 16.04 LTS 64 Bits
  • Qt Creator 4.0.2,基于Qt 5.7.0
  • OpenCV 2.4.13

附录:

我使用OpenCV 2.4.9正常运行程序,没有其他更改。我决定继续使用2.4.13,因为扩展的gui在2.4.9上没有用。我从official website下载了OpenCV 2.4.13,并将其与this script一起安装(除了手动制作的wget和unzip),最初没有autoremove以前的库,但我在问题出现后再次重新运行上一个脚本,以确保正确安装。

编辑1:

运行

g++ -o opencvtest opencvtest.cpp `pkg-config opencv --cflags --libs`

使用类似的代码行提供所需的结果而没有问题。

1 个答案:

答案 0 :(得分:0)

-lz添加到LIBS

LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lz