【发布时间】:2017-10-02 18:42:14
【问题描述】:
有标准的 CMake 命令:
find_package(OpenCV REQUIRED)
同时安装 v2 和 v3 时,将选择 v3。
现在,由于各种问题,如果可用,我想使用 OpenCV v2,但如果没有,请转用 OpenCV v3。不幸的是,这不是一个有效的关键字:
find_package(OpenCV 2 AT_LEAST)
一种解决方案可能是:
find_package(OpenCV 2 REQUIRED)
if (NOT OpenCV_FOUND)
find_package(OpenCV 3 REQUIRED)
endif()
有没有更好的办法?
【问题讨论】:
-
在解决方案中,第一个
find_package()调用应该是不带 REQUIRED 关键字,否则CMake 会将缺少OpenCV2 视为错误。至于“更好的方法”,我不知道。你目前的解决方案对我来说似乎很好。