【发布时间】:2016-10-24 12:43:48
【问题描述】:
我正在尝试使 OpenCV 在 Windows 10(64 位)上的 Clion 中与 CMake 一起工作。我已经将OPENCV_DIR 设置为包含OpenCVConfig.cmake 的OpenCV 构建文件夹,但是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/ 文件夹的内容:
这可能是什么问题?提前致谢!
【问题讨论】:
-
我不确定,但这不应该是 Windows 路径:
"D:\\opencv\\build"? -
在 Windows 上,斜线
\可以替换为/以避免字符串转义。但我也尝试了`\\`,但它也没有工作:( -
嗯,这可能是 cache 和 non-cache 变量之间的混淆:find_package 的描述告诉它设置 cache条目
<package>_DIR,因此它可能期望预先存在的值也被缓存。尝试设置 cached 变量而不是普通变量:通过命令行的-D选项、通过CMake 缓存编辑或使用set(.. CACHE)。或者,您可以将给定的提示作为PATH选项传递给find_package调用。 -
好的,所以我跟着this在
find_package之前清除了缓存,但也没有用。顺便说一句,我认为(还)没关系,因为 cmake 在缓存之前还没有成功找到 opencv。 -
不需要清除缓存,您需要设置它。您是否在(不成功)
cmake调用之后执行此操作是无关的。