尝试使用 OpenCV 库运行示例代码后,进程已完成,退出代码为 -1073741515 (0xC0000135)

mar*_*ste 1 windows opencv clion

我一直在尝试在Windows下使用CLion IDE运行OpenCV。当我尝试运行此示例代码以加载和显示图像时

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream> 
using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    if( argc != 2)
    {
     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
     return -1;
    }

    Mat image;
    image = imread("earth.jpg", CV_LOAD_IMAGE_COLOR);   // Read the file

    if(! image.data )                              // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", WINDOW_AUTOSIZE );// Create a window for display.
    imshow( "Display window", image );                   // Show our image inside it.

    waitKey(0);                                          // Wait for a keystroke in the window
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到错误声明:

进程完成,退出代码 -1073741515 (0xC0000135)

至于我的CMakeLists.txt 中的内容,它看起来像这样:

cmake_minimum_required(VERSION 3.6)
project(test)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

# Where to find CMake modules and OpenCV
set(OpenCV_DIR "C:\\opencv\\mingw-build\\install")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(openCV main.cpp)

# add libs you need
set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)

# linking
target_link_libraries(openCV ${OpenCV_LIBS})
Run Code Online (Sandbox Code Playgroud)

谢谢你帮我解决这个问题。

uta*_*uta 5

您需要在 CLion 启动之前将带有 DLL 的 OpenCV 二进制路径添加到您的 PATH 中。我从脚本中做到这一点:

=== CLionWithMingwAndOpenCV.bat ==========================
@echo off
set PATH=C:\mingw-w64\x86_64-5.2.0-win32-seh-rt_v4-rev0\mingw64\bin;D:\opencv\release\bin;%PATH%

"C:\Program Files (x86)\JetBrains\CLion XXXX\bin\clion64.exe"
=== ==========================
Run Code Online (Sandbox Code Playgroud)