Я пытаюсь написать приложение на C ++ с использованием библиотек OpenCV.Согласно рекомендации от сопровождающих 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 включить это при компиляции?