【发布时间】:2011-11-13 02:22:35
【问题描述】:
我正在尝试使用 OpenCV 库编写 C++ 应用程序。根据 OpenCV 维护人员的建议,我正在使用 CMake 生成 Makefile。我的平台是 Windows 7(64 位)。我的编译器是 MinGW(所以我使用 'mingw32-make' 工具来构建应用程序)。
现在我正在尝试确保我的设置正确,以便继续编写代码。我已验证 OpenCV 库已正确构建。然后我尝试验证我是否可以使用 CMake 在我的构建中包含 OpenCV 库。我正在使用 OpenCV 教程中的以下示例代码:
DisplayImage.cpp
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if (argc != 2 || !image.data)
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
CMakeLists.txt
cmake_minimum_required( VERSION 2.8 )
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
我使用 cmake-gui 生成 Makefile,然后使用 mingw32-make 构建应用程序。一切正常,程序编译没有错误。但是,当我尝试运行它时,Windows 停止并抱怨它需要 libopencv_core231.dll。我已经检查过了,这个 dll 在我的(OpenCV 构建位置)/bin 目录中。编译时如何让 CMake/MinGW 包含此内容?
【问题讨论】:
标签: c++ dll opencv cmake mingw