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

Undefined reference to symbol 'gzclose'

本文关键字:未定义 引用 gzclose 符号      更新时间:2023-10-16

我想这是一个链接器错误,但是我花了很多时间,没有找到工作的答案。我有一个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

am i 忘记了某事/做错了什么

一些信息:

  • kubuntu 16.04 lts 64位
  • QT Creator 4.0.2,基于QT 5.7.0
  • OPENCV 2.4.13

附录:

我的程序与OpenCV 2.4.9正常工作,没有其他更改。由于GUI的扩展,我决定继续前进2.4.13,该GUI在2.4.9上不起作用。我从官方网站下载了OpENCV 2.4.13,并使用此脚本安装了(手动制作的WGET和UNZIP除外),最初不是autoremove,但我在此期间出现并重新运行后做到了上一个脚本再次确保正确安装。

编辑1:

运行

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

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

-lz添加到您的LIBS

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