在Windows上将OpenCV与Clion IDE一起使用
实际上,我正在寻找一种使用JetBrains的Clion和OpenCV创建应用程序的方法 我已经用Choco安装了OpenCV,所以所有的东西都在C:\OpenCV中 这是我和克莱恩的节目 CMakeLists.txt:在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
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