我目前正在尝试使用OpenCV,但我遇到了一点麻烦。我使用qt ide和mingw来编译我的应用程序。
我的代码是这样的:
#include “highgui.h”
int main( int argc, char** argv )
{
IplImage* img1 = cvLoadImage( argv[1] );
cvNamedWindow( “Example”, CV_WINDOW_AUTOSIZE );
cvShowImage( “Example”, img1 );
cvWaitKey(0);
cvReleaseImage( &img1 );
cvDestroyWindow( “Example” );
return(0);
}
在我的。pro文件中:
INCLUDEPATH += "E:/OpenCV2MinGWBuild/install/include/"
INCLUDEPATH += "E:/OpenCV2MinGWBuild/install/include/opencv/"
INCLUDEPATH += "E:/OpenCV2MinGWBuild/install/include/opencv2/"
LIBS += -L"E:/OpenCV2MinGWBuild/install/lib/" -lopencv_calib3d231.dll -lopencv_contrib231.dll -lopencv_core231.dll
库是.a-s(dll在库的名称部分,它不是扩展名)。我知道。a库是linux特有的,但是mingw应该能够使用它们,对吗?
我用mingw构建了OpenCV库,但我不能让它们链接到我的Qt应用程序。MinGW可以很好地看到头文件,但看不到库。我总是得到"对cvShowImage'", "undefined reference to
cvNamedWindow'的未定义引用"(等)错误…
任何帮助都是感激的!非常感谢!
dll。a不是静态库文件,它们是动态链接.dll
的存根-您需要重新构建OpenCv以使用静态库.lib
并将其直接链接到您的代码