Eclipse 中的 C 代码返回对符号 cvSaveImage 的 undefined reference

标签 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

所以我将库添加到 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>

有什么想法吗?

最佳答案

cvSaveImage 属于opencv_imgcodecs .

您在库 (-l) 中缺少 opencv_imgcodecs

关于Eclipse 中的 C 代码返回对符号 cvSaveImage 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34122181/

相关文章:

c++ - 验证以下条件的输入

c - strstr() 函数类似,忽略大写或小写

c - 从 CCS 中的引脚读取模拟值

java - Android 上的 onActivityResult 方法内的全局变量值未更改

java - 如何让 eclipse 在一段时间后而不是之前换行

python - 在 OpenCV/Python 中设置相机参数

linux - 在 Beagleboard-xm 中打开 CV 和 ubuntu 优化

在 C 中将 Char* 变量转换为 uint32_t

java - 线程 "main"java.lang.NoClassDefFoundError : Xms256M 中出现异常

opencv - 使用Python中的HAAR特征提取算法计算特征向量