我是OpenCV的新手,在使用videoInput.lib时遇到一些问题,请帮帮我。我正在使用winXP SP3 + Cmake2.8.2 + OpenCV 2.1 + Visual Studio 2008.我已经完成了所有配置,现在可以使用OpenCv当我正在编码时。我听说自OpenCV2.0以来已经包含了videoInput.lib,我想使用它,所以我尝试了下面的代码来快速测试。
// Test2.cpp:定义控制台应用程序的入口点。 //
#include "videoInput.h"
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
int main(int,char * *) {
int width = 320;
int height = 240;
IplImage * pRgb = cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,3);
videoInput video;
video.setupDevice(0,width,height);
video.showSettingsWindow(0);
,而(1)
{ 如果(video.isFrameNew(0))
{ video.getPixels(0,(unsigned char *)pRgb-> imageData,false,true);
//cvFlip(pRgb,NULL,1);
char c=cvWaitKey(1);
if(c==27) break;
cvShowImage("Video", pRgb);
} } }
然而,当我构建代码时,我得到了以下错误
1> ------ Build build:Project:Test2,Configuration:Debug Win32 ------
1>编译...
1>测试2.cpp
1> c:\ opencv2.1 \ vc2008 \ include \ opencv \ cvcompat.h(803):警告C4819:该文件包含无法在当前代码页中表示的字符(936)。以Unicode格式保存文件以防止数据丢失
1>链接...
1> Test2.obj:错误LNK2019:未解析的外部符号“public:__thiscall videoInput :: ~videoInput(void)”(?? 1videoInput @@ QAE @ XZ)在函数_main中引用
1> Test2.obj:错误LNK2019:未解析的外部符号“public:bool __thiscall videoInput :: getPixels(int,unsigned char *,bool,bool)”(?getPixels @ videoInput @@ QAE_NHPAE_N1 @ Z)在函数中引用_main
1> Test2.obj:错误LNK2019:未解析的外部符号“public:bool __thiscall videoInput :: isFrameNew(int)”(?isFrameNew @ videoInput @@ QAE_NH @ Z)在函数_main中引用
1> Test2.obj:错误LNK2019:未解析的外部符号“public:void __thiscall videoInput :: showSettingsWindow(int)”(?showSettingsWindow @ videoInput @@ QAEXH @ Z)在函数_main中引用
1> Test2.obj:错误LNK2019:函数_main
1> Test2.obj:错误LNK2019:未解析的外部符号“public:__thiscall videoInput :: videoInput(void)”(?? 0videoInput @@ QAE @ XZ)在函数_main中引用
1> C:\ Documents and Settings \ SKSC \ My Documents \ Visual Studio 2008 \ Projects \ Test2 \ Debug \ Test2.exe:致命错误LNK1120:6个未解析的外部 1>构建日志保存在“file:// c:\ Documents and Settings \ SKSC \ My Documents \ Visual Studio 2008 \ Projects \ Test2 \ Test2 \ Debug \ BuildLog.htm”
1> Test2 - 7个错误,1个警告
==========构建:0成功,1失败,0最新,0跳过==========
我已经谷歌搜索了很长时间但仍然无法找到解决方案,我会生气。有谁知道如何解决这些问题? 提前谢谢。
答案 0 :(得分:0)
我认为你仍然需要与videoInput.lib链接,OpenCV使用videoInput.lib,但这并不意味着你可以使用OpenCV的所有videoInput.lib函数
答案 1 :(得分:0)
是的,您必须从链接器显式链接到videoInput.lib。
Here你会找到你需要的东西。
答案 2 :(得分:0)
以下是解决问题的方法: “转到项目属性 - >配置属性 - >链接器 - >输入并添加videoinput.lib以及常用的OpenCV库文件。”这是上述网站的解决方案。我尝试了它,但它确实有效。