-2
如何在Windows 10中使用opencv 3.2,mingw和命令窗口編譯C++文件(包括opencv)。(我不想使用codeblocks/Vbasic/eclipse/netbeans等軟件)。OpenCV 3.2文件編譯?
如何在Windows 10中使用opencv 3.2,mingw和命令窗口編譯C++文件(包括opencv)。(我不想使用codeblocks/Vbasic/eclipse/netbeans等軟件)。OpenCV 3.2文件編譯?
嘗試使用cmake生成makefile,然後使用相同的make和build。
以下是一個cmake的最小例子,其中我使用opencv進行像素聚類。
您需要創建一個CMakeLists.txt文件並添加以下內容。爲構建你可以檢查我的github回購的更多信息: https://github.com/anubhavrohatgi/ImageProcessing.git
#Cmake for Clustering Project
PROJECT(clustering)
#Minimum version of Cmake required
cmake_minimum_required(VERSION 3.1)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF(NOT CMAKE_BUILD_TYPE)
#Find and add opencv libraries
find_package(OpenCV REQUIRED core imgproc highgui imgcodecs)
IF(${OpenCV_VERSION} VERSION_LESS 2.4.12)
MESSAGE(FATAL_ERROR "OpenCV version is not compatible : ${OpenCV_VERSION}")
ENDIF()
#Check for C++ Compiler version. I am using C++14.
INCLUDE(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
IF(COMPILER_SUPPORTS_CXX14)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
ELSEIF(COMPILER_SUPPORTS_CXX0X)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
ELSE()
MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
ENDIF()
#include the header files located in the include folder
INCLUDE_DIRECTORIES(include)
#Set the variables for Headers and Sources. Manually add the filenames. This
#is useful if the files are changed, removed or name modified.
#Better than GLOB version
SET( HEADERS
include/clustering.h
)
set( SOURCES
src/main.cpp
)
add_executable(clustering ${SOURCES} ${HEADERS})
target_link_libraries(clustering
${OpenCV_LIBS}
)
有CMake的生成Makefile。 –