gpt4 book ai didi

OpenCV静态链接错误

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:56 24 4
gpt4 key购买 nike

我想使用 OpenCV 作为静态库。将库编译为静态库后,我现在正在使用一些示例进行测试以查看所有依赖项。

编译添加的依赖是-staticpkg-config --libs opencv-lpthread -ljpeg -ltiff -lz -ljasper -lpng12

但得到以下错误信息:

g++ -c -g -Wall -O2 `pkg-config --cflags opencv` formas.cpp 
g++ -g -Wall -O2 `pkg-config --cflags opencv` formas.o -o paint -static `pkg-config --libs opencv` -lpthread -ljpeg -ltiff -lz -ljasper -lpng12
/usr/local/lib/libopencv_core.a(system.o): In function `cv::tempfile(char const*)':
system.cpp:(.text._ZN2cv8tempfileEPKc+0x3a): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
/usr/local/lib/libopencv_core.a(system.o): In function `cv::getTickCount()':
system.cpp:(.text._ZN2cv12getTickCountEv+0x2a): undefined reference to `clock_gettime'
/usr/local/lib/libopencv_highgui.a(grfmt_png.o): In function `cv::PngDecoder::readHeader()':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0xde): undefined reference to `png_set_longjmp_fn'
/usr/local/lib/libopencv_highgui.a(grfmt_png.o): In function `cv::PngEncoder::write(cv::Mat const&, std::vector<int, std::allocator<int> > const&)':
grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x134): undefined reference to `png_set_longjmp_fn'
/usr/local/lib/libopencv_highgui.a(grfmt_png.o): In function `cv::PngDecoder::readData(cv::Mat&)':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x141): undefined reference to `png_set_longjmp_fn'
collect2: ld returned 1 exit status
make: *** [all] Error 1

我做错了什么或 OpenCV 库中有错误。

OpenCV版本:2.3.1(最新版)formas --> 创建图像并绘制一些图形并保存到文件中的示例。如此简单。

提前致谢。

最佳答案

您似乎已经使用 libpng 1.4 或更新版本编译了 OpenCV,但试图与 libpng 1.2 链接

您使用什么 cmake 命令配置 OpenCV?

更新:

您需要将 -lrt 添加到您为 clock_gettime 函数链接的库列表中。

关于OpenCV静态链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com