如何在OpenCv2.1中使用videoInput.lib时修复错误LNK2019?

时间:2010-09-03 01:15:14

标签: opencv

我是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跳过==========


我已经谷歌搜索了很长时间但仍然无法找到解决方案,我会生气。有谁知道如何解决这些问题? 提前谢谢。

3 个答案:

答案 0 :(得分:0)

我认为你仍然需要与videoInput.lib链接,OpenCV使用videoInput.lib,但这并不意味着你可以使用OpenCV的所有videoInput.lib函数

答案 1 :(得分:0)

是的,您必须从链接器显式链接到videoInput.lib。

Here你会找到你需要的东西。

答案 2 :(得分:0)

以下是解决问题的方法: “转到项目属性 - >配置属性 - >链接器 - >输入并添加videoinput.lib以及常用的OpenCV库文件。”这是上述网站的解决方案。我尝试了它,但它确实有效。