Eclipse 中的 C 代码 return 未定义对符号 cvSaveImage 的引用

C code in Eclipse return undefined reference to symbol cvSaveImage

我在 Ubuntu 15.10 上使用 Eclipse 和 OpenCV(版本 3)编写 C 程序,但我不明白为什么我总是收到错误

undefined reference to symbol 'cvSaveImage'

如果我运行

pkg-config opencv --cflags --libs

我明白了

-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib
-lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres
-lopencv_videostab -lopencv_calib3d -lopencv_features2d 
-lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video 
-lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann 
-lopencv_core -lopencv_hal

所以我将库添加到 GCC C Liker 中,如下图所示

如果我不尝试在程序 运行s 中使用函数 cvSaveImage,那么其他库可以正常工作。我包含了 highgui 库:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <stdbool.h>
#include <time.h>

有什么想法吗?

cvSaveImage 属于 opencv_imgcodecs.

您在库 (-l) 中缺少 opencv_imgcodecs