2016-10-24 90 views
0

我試圖使OpenCV在Windows 10(64位)上與Clion中的CMake一起工作。我已經將OPENCV_DIR設置爲包含OpenCVConfig.cmake的OpenCV構建文件夾,但cmake始終嘮叨無法找到該文件。CMake無法找到OpenCVConfig.cmake

Could not find a package configuration file provided by "OpenCV" with any of the following names: 
    OpenCVConfig.cmake opencv-config.cmake 

這裏是我的CMakeLists:

cmake_minimum_required(VERSION 3.6) 
project(MyProject) 

set(OpenCV_DIR "D:/opencv/build/") 

find_package(OpenCV REQUIRED core imgproc) 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

include_directories(${OpenCV_INCLUDE_DIRS}) 
add_executable(MyProject main.cpp) 
target_link_libraries(MyProject ${OpenCV_LIBS}) 

而這裏的D:/opencv/build/文件夾的內容:

enter image description here

可以採取什麼問題就在這裏?提前致謝!

+0

我不確定,但不應該是* Windows *路徑:'「D:\\ opencv \\ build」'? – Tsyvarev

+1

在Windows上,可以用'/'替換斜槓'\'以避免字符串轉義。但是我也嘗試過'\\\',但它沒有工作:( – Kent

+0

嗯,這可能是* cache *和* non-cache *變量之間的混淆:[find_package]的描述(https:// cmake .org/cmake/help/v3.7/command/find_package.html)告訴它設置**緩存條目**' _DIR',所以它可以預期已存在的值也被緩存。嘗試設置* cached *變量而不是普通的:通過命令行的'-D'選項,通過CMake緩存編輯或者使用'set(.. CACHE)'。或者,你可以傳遞給定的提示作爲'find_package'調用的'PATH'選項。 – Tsyvarev

回答

0

我發現了這個問題,對於像我這樣的CMake新人來說,完全出乎意料。

事實證明,我安裝了CMake作爲Cygwin的一部分,因此文件系統路徑的形式爲/cygdrive/d/opencv/build/。這沒有問題。

所以如果你在Windows上,請注意Cygwin提供的CMake提供的不同的文件路徑風格。