0

I've just reorganised my code (which worked before) and am now getting an error message when I run my executable: The program can't start because opencv_core230d.dll is missing from your computer. The error is accurate, I only have .lib library files for OpenCV, but it worked before and I don't think this should be a problem, should it?

An extract from the cmake file is:

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})

Am I doing anything obviously wrong, or what else might cause this error?


EDIT: I've now reduced this problem to a minimal example. Inside one directory test I have two files: testApp.cpp and CMakeLists.txt as follows:

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}")

With the error as before: opencv_highgui230d.dll is missing.

2 Answers 2

1

The problem is that the environment variable PATH does not point to the location where OpenCV's DLLs reside. Search inside OpenCV directories and if you can't find it you'll need to reinstall OpenCV.

Sign up to request clarification or add additional context in comments.

Comments

0

Seems this is a common problem which simply needed some more research. To fix, I just added the OpenCV/bin directory to the PATH environmental variable. Still not sure why it was working previously though...

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.