我目前正在尝试使用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是lib的名称部分,它不是扩展名)..我知道.a库是特定于linux的,但是mingw能够正确使用它们吗?
我使用mingw构建了OpenCV库,但我无法将它们链接到我的Qt应用程序。
MinGW可以很好地查看头文件,但不能查看库。
我总是得到“cvShowImage'", "undefined reference to
cvNamedWindow”(等)错误的未定义引用..
任何帮助表示赞赏! 日Thnx!
答案 0 :(得分:0)
dll.a不是静态库文件,它们是动态链接.dll
的存根 - 您需要重建OpenCv以使用静态库.lib
并将它们直接与您的代码链接