Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows上将OpenCV与Clion IDE一起使用_Windows_Opencv_Clion - Fatal编程技术网

在Windows上将OpenCV与Clion IDE一起使用

在Windows上将OpenCV与Clion IDE一起使用,windows,opencv,clion,Windows,Opencv,Clion,实际上,我正在寻找一种使用JetBrains的Clion和OpenCV创建应用程序的方法 我已经用Choco安装了OpenCV,所以所有的东西都在C:\OpenCV中 这是我和克莱恩的节目 CMakeLists.txt: cmake_minimum_required(VERSION 3.3) project(test) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") include_directories("C:\\opencv\\bu

实际上,我正在寻找一种使用JetBrains的Clion和OpenCV创建应用程序的方法

我已经用Choco安装了OpenCV,所以所有的东西都在C:\OpenCV中

这是我和克莱恩的节目

CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
project(test)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories("C:\\opencv\\build\\include\\")

FIND_PACKAGE( OpenCV REQUIRED core highgui imgproc)
set(OpenCV_FOUND TRUE)

set(SOURCE_FILES main.cpp)
add_executable(prog ${SOURCE_FILES})
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(test_cv main.cpp)

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

# linking
target_link_libraries(test_cv ${OpenCV_LIBS})
和main.cpp:

#include <opencv2/opencv.hpp>

int main() {

    cv::Mat img = cv::imread("./test.jpg", -1);
    cv::imshow("Mon image", img);
    cv::waitKey(0);
    return 0;
}
以及所有OpenCV函数的未定义错误

你知道为什么它不起作用吗?

首先,你需要。 然后你需要一个你选择的编译器

下载OpenCV源文件。 解压缩到C:\opencv或您选择的文件夹 打开CMake并选择2的源目录。和构建,例如C:\opencv\mingw构建或C:\opencv\vs-x64-build。根据您的配置选择一个。 单击“配置”,然后根据您的编译器选择生成器。MinGW Makefiles在使用MingGW或Visual Studio时。。。如果您正在使用Visual Studio等。。。 如果您遇到MinGW问题,请确保将MinGW/bin目录添加到标有“path”的环境路径中 等待配置完成,编辑您需要的属性在我的情况下,我不需要测试、文档和python。 再次单击配置。当所有内容都为白色时,单击“生成其他内容”编辑红色字段。 打开cmd和dir以生成3的目录。 如果选择Visual Studio,请打开生成的解决方案。 编译库。如果您选择的编译器是MSVC,请从Visual Studio中生成的解决方案运行mingw32 make或mingw64 make或生成build_ALL项目。 这需要一段时间。 完成后,运行mingw32 make安装或mingw64 make安装。如果您选择了Visual Studio,则需要生成安装项目。 这将创建一个安装文件夹,其中包含构建自己的OpenCV应用程序所需的所有内容。 向系统路径添加C:\opencv\mingw build\install\x86\mingw\bin 重新启动你的电脑。 设置CLion: 您需要下载并将其添加到projectroot/cmake/。 CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
project(test)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories("C:\\opencv\\build\\include\\")

FIND_PACKAGE( OpenCV REQUIRED core highgui imgproc)
set(OpenCV_FOUND TRUE)

set(SOURCE_FILES main.cpp)
add_executable(prog ${SOURCE_FILES})
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(test_cv main.cpp)

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

# linking
target_link_libraries(test_cv ${OpenCV_LIBS})
main.cpp:

构建并运行main.cpp

所有路径取决于您在2中进行的设置。三,。如果你愿意,你可以换

更新1:我更新了帖子,使用了你选择的编译器


建议:使用像这样的软件包管理器可以让生活更轻松。

我只想在daB0bby的答案中补充一点。很少的MW GW编译器不支持C++版本11或更高版本。OpenCV中的线程需要此版本。因此,我建议使用而不是MinGW编译器。安装此编译器并将路径C:\TDM-GCC-64\bin设置为系统的环境变量。

是否设置了环境变量?你在用什么编译器?您没有将您的可执行文件链接到OpenCV_LIBSany对macos环境的热爱?在您声明的上方,您需要下载FindOpenCV.cmake并将其添加到project root/cmake/。在我的例子中,我需要将FindOpenCV.cmake添加到CLion的cmake安装目录中,该目录位于C:\Program Files x86\JetBrains\CLion 2016.2.1\bin\cmake\share\cmake-3.6\Modules。在这个位置,我找到了许多其他的find*.cmake文件。我可以在CLion中使用Cygwin而不是MinGW来构建opencv,因为在cmake gui中没有Cygwin@MichałZiobro是的,你可以。为什么我不断收到关于cvRound函数未定义引用的错误?我试着在opencv提取的packege和其他一些网站上的cygiwn预编译packege中预构建库。我也尝试过用CMake gui编译它,但它一直无法编译,出现了一些错误,比如调用了一些线程实现的函数。似乎很难让它在windows上工作;/我正在从macOS移植应用程序,不认为要使其正常工作会如此困难。有人在执行cingw32 make时遇到问题吗?我做的每件事都是按照向导做的,但它抛出了如下错误:opencv\sources\3rdparty\libjpeg-turbo\src\jmemmgr.c:在函数“实现虚拟数组”中:\opencv\sources\3rdparty\libjpeg-turbo\src\jmemmgr.c:662:11:错误:“SIZE\u MAX”未声明在该函数中的第一次使用,如果SIZE\u-MAX-maximum\u-space