Ошибка связи с OpenCV после реструктуризации кода - PullRequest
0 голосов
/ 20 февраля 2012

Я только что реорганизовал свой код (который работал раньше) и теперь получаю сообщение об ошибке при запуске моего исполняемого файла: The program can't start because opencv_core230d.dll is missing from your computer. Ошибка точная, у меня есть только файлы библиотеки .lib для OpenCV, но она работала раньшеи я не думаю, что это должно быть проблемой, не так ли?

Выдержка из файла cmake:

FIND_PACKAGE( OpenCV REQUIRED )

# Define LIBRARY and SRC_FILES to create my library
add_library(${LIBRARY} ${SRC_FILES})
target_link_libraries(${LIBRARY} ${OpenCV_LIBS} )

# Define appName and appFile to create application,
# and link to my library and OpenCV
add_executable(${appName} ${appFile})
target_link_libraries(${appName} ${LIBRARY} ${OpenCV_LIBS})

Я делаю что-то явно неправильно, или что еще может вызватьэта ошибка?


РЕДАКТИРОВАТЬ: Теперь я сократил эту проблему до минимального примера.Внутри одного каталога test у меня есть два файла: testApp.cpp и CMakeLists.txt следующим образом:

testApp.cpp

#include <opencv2/opencv.hpp>

int main(int argc, char* argv[])
{
    cv::namedWindow("Test");
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
project(test)

FIND_PACKAGE( OpenCV REQUIRED )

add_executable(appName testApp.cpp)
target_link_libraries(appName ${OpenCV_LIBS})
message(STATUS "Linking testapp to: ${OpenCV_LIBS}")

Сошибка как и раньше: opencv_highgui230d.dll is missing.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Проблема в том, что переменная окружения PATH не указывает на место, где находятся библиотеки OpenCV.Выполните поиск в каталогах OpenCV, и если вы не можете его найти, вам нужно переустановить OpenCV.

0 голосов
/ 20 февраля 2012

Кажется, это обычная проблема, которая просто требует дополнительного исследования. Чтобы исправить это, я просто добавил каталог OpenCV / bin в переменную окружения PATH. Все еще не уверен, почему это работало ранее хотя ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...