openCV 无法解析的外部命令

zcm_xh2008 2011-09-11 06:16:55
小生有以下两个文件:
头文件:ReadImages.h
代码:
#ifndef _READIMAGES_H
#define _READIMAGES_H

#include "cv.h"
#include "highgui.h"

class CReadImages
{
public:
CReadImages(){}
~CReadImages()
{
cvReleaseImage(&dataBaseFaceImage); //释放图像
cvReleaseImage(&needRecoFaceImage); //释放图像
}

void ReadImageFile(const char* imagePath); //图像文件读取函数

private:
IplImage* dataBaseFaceImage; //数据库中的人脸图像指针
IplImage* needRecoFaceImage; //需要识别的人脸图像指针
};

#endif

实现文件:ReadImages.cpp
代码:
#include "stdafx.h"
#include "ReadImages.h"

void CReadImages::ReadImageFile(const char* imagePath)
{
needRecoFaceImage = cvLoadImage(imagePath, -1); //以读入图像的默认通道数载入人脸图像
if(!needRecoFaceImage)
{
AfxMessageBox(_T("载入图像失败!"));
}
}

编译链接的时候出现了如下错误:
错误 1 error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 "public: void __thiscall CReadImages::ReadImageFile(char *)" (?ReadImageFile@CReadImages@@QAEXPAD@Z) 中被引用 ReadImages.obj FaceRecognition
可是当我将cvLoadImage函数放到ReadImages.h文件中调用的时候却能正常运行,这是什么原因啊?小生初学者,在线等大神指教!!!感激不尽!!!
...全文
1274 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
嗯,谢谢两位热心的帮助,我已经找到问题所在了,是我的cxcore210.lib cv210.lib highgui210.lib这些lib文件放错依赖项的位置了,我把它们放在了自定义生成步骤的依赖项里面了,本来是应该放在配置属性链接器里的输入的添加依赖项里面的,问题已经解决,可以结贴了,散分去。。。小生鞠躬谢过。。。
wqhua 2011-09-11
  • 打赏
  • 举报
回复
按提示,应该是路径的问题了。

opencv2.1我一般这样处理。
将所有头文件和LIB放一个文件夹比如opencv210,
将该文件夹拷贝至工程目录下
然后#include ".\opencv210\cv.h"
在项目配置里面
debug 和release的链接里面的input中加入.\opencv210\cxcore210.lib等
opencv的库在不断添加和完善,版本更新也较快。这样即使换了版本。原来写的一些程序还是独立的。
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
我试下了一下这个方法:在头文件中加入这句话:#pragma comment(lib,"highgui210d.lib"),就可以正常运行了,可是我在项目中设置了lib文件的连接的啊,怎么还必须显示加入呢????
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
查了,都没问题,工具选项下的库文件路径设置为:D:\Program Files\OpenCV2.1\vs2008\lib,没问题的嘛。。。
fox000002 2011-09-11
  • 打赏
  • 举报
回复
检查一下 lib 路径设置
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
另外我用的是VS2008,我在工具选项中进行了VS2008的OPENCV坏境配置的,也给PC的坏境变量进行了设置的。。。
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
我在项目属性的依赖项中设置了啊。。。而且我以前做过这个opencv的一个项目的,设置完全一样,那个项目我今天拿来运行,很奇怪,在Debug下可以运行成功,但是在Release下就会出现上面一样的错误,我的Debug依赖项设置为:cxcore210d.lib cv210d.lib highgui210d.lib,
Release依赖项设置为:cxcore210.lib cv210.lib highgui210.lib
唉,百思不得其解啊!!!
fox000002 2011-09-11
  • 打赏
  • 举报
回复
没有链接 opencv 库文件啊
zcm_xh2008 2011-09-11
  • 打赏
  • 举报
回复
怎么没人回答啊?是分数少了吗?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧