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

时间:2015-12-06 20:15:05

标签: c eclipse opencv eclipse-cdt opencv3.0

我在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

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

enter image description here

如果我不尝试使用函数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>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

cvSaveImage属于opencv_imgcodecs

您在库(-l)中缺少opencv_imgcodecs