I'm actually looking for a way to create apps with OpenCV with Clion from JetBrains.I've installed OpenCV with Choco, so I have all the stuff in C:\opencvthis is my projet with ClionCMakeLists.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})and the 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;}and the response to build is : undefined reference to `cv::imread(cv::String const&, int)'and undefined errors for all OpenCV functionsDo you know why it doesn't works? 解决方案 First of all, you need CMake.Then you need a compiler of your choise (MinGW, Visual Studio, ...).Download the OpenCV source files. LinkUnpack to C:\opencv (or a folder of your choice)Open CMake and select source (directory of 2.) and build for example C:\opencv\mingw-build or C:\opencv\vs-x64-build. Choose one accoring your configuration.Click Configure and select the generator according to you compiler. MinGW Makefiles in case of MingGW or Visual Studio ... if you are using Visual Studio and so on ...(If you experience problems with MinGW, ensure that the minGW/bin directory is added to the evironment path labelled, 'PATH')Wait for the configuration to be done, edit your properties of your needs (in my case I don't need tests, docs and python).Click Configure again. When everything is white click Generate else edit the red fields.Open cmd and dir to build directory of 3.If you chose Visual Studio open the generated solution.Compile the library. Run mingw32-make (or mingw64-make) or build the BUILD_ALL project from the generated solution in Visual Studio if your choosen compiler is MSVC.This takes a while.Once it is done, run mingw32-make install (or mingw64-make install). If you've choosen Visual Studio you need to build the INSTALL project.This creates an install folder, where everything you need for building your own OpenCV apps is included.To system PATH add C:\opencv\mingw-build\install\x86\mingw\binRestart your PC.Set up CLion:You need to download FindOpenCV.cmake and add it to project-root/cmake/.CMakeLists.txt:project(test)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")# Where to find CMake modules and OpenCVset(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 needset(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)# linkingtarget_link_libraries(test_cv ${OpenCV_LIBS})main.cpp:#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>int main(int argc, char** argv){ if(argc != 2) { std::cout << "Usage: display_image ImageToLoadAndDisplay" << std::endl; return -1; } cv::Mat frame; frame = cv::imread(argv[1], IMREAD_COLOR); // Read the file if(!frame) // Check for invalid input { std::cout << "Could not open or find the frame" << std::endl; return -1; } cv::namedWindow("Window", WINDOW_AUTOSIZE); // Create a window for display. cv::imshow("Window", frame); // Show our image inside it. cv::waitKey(0); // Wait for a keystroke in the window return 0;}Build and run main.cpp.All Paths depend on the setup you make in 2. and 3. You can change them if you like.UPDATE 1: I updated the post for using a compiler of you choice.SUGGESTION: Using a package manager like Conan makes life much easier. 这篇关于在Windows上将OpenCV与Clion IDE一起使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-23 09:47