对符号“gzclose”的未定义引用

问题描述 投票:0回答:1

我猜这是一个链接器错误,但我花了很多时间并没有找到有效的答案。我有一个 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 位
  • Qt Creator 4.0.2,基于 Qt 5.7.0
  • OpenCV 2.4.13

附录:

我让程序在 OpenCV 2.4.9 上正常工作,没有其他变化。我决定继续使用 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`

使用类似的代码行可以毫无问题地提供所需的结果。

c++ qt opencv qt-creator
1个回答
0
投票

-lz
添加到您的
LIBS

LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui -lz
© www.soinside.com 2019 - 2024. All rights reserved.