对符号 'gzclose' 的未定义引用
Undefined reference to symbol 'gzclose'
我想这是一个链接器错误,但是我花了很多时间,没有找到工作的答案。我有一个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
相关文章:
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 对 Scalar ::Scalar() 的未定义引用
- 对复制 CTOR 和 CTOR 的未定义引用
- 对显式实例化的模板函数的未定义引用
- TensorRT (C++ API) 对"createNvOnnxParser_INTERNAL"的未定义引用
- 2个模板化类的非模板友元函数未定义引用错误
- 编译 libfluid 样本控制器时对"event_base_del_virtual"的未定义引用
- 获取对function_name的未定义引用
- 对 'std::thread::_M_start_thread CMake 的未定义引用进行基准测试
- 对结构方法的未定义引用
- 使用内联函数 c++ 的未定义引用
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 对 DLOPEN 的未定义引用
- QT C++中对全局变量的未定义引用
- 快速数学导致对"__pow_finite"的未定义引用
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- OpenCV 3.4.3 中对 'cv::String::d eallocate()' 错误的未定义引用