Macos 告诉cmake使用另一个版本的软件包
我通过自制软件安装了OpenCV和OpenCV3 OpenCV已链接,可通过cmake访问Macos 告诉cmake使用另一个版本的软件包,macos,cmake,homebrew,Macos,Cmake,Homebrew,我通过自制软件安装了OpenCV和OpenCV3 OpenCV已链接,可通过cmake访问 /usr/local/share/OpenCV OpenCV3未链接,位于此处 /usr/local/Cellar/opencv3/3.0.0 我有一个CMakeLists.txt文件: cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable(
/usr/local/share/OpenCV
OpenCV3未链接,位于此处
/usr/local/Cellar/opencv3/3.0.0
我有一个CMakeLists.txt
文件:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
当我运行cmake
时,它使用OpenCV的第一个版本。
我如何告诉cmake
使用第二个软件包
更新:
我试图具体说明
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/usr/local/Cellar/opencv3/3.0.0/share/OpenCV")
find_package( OpenCV REQUIRED )
及
但是在cmakcache.txt
中,我仍然看到:
OpenCV_CONFIG_PATH:FILEPATH=/usr/local/share/OpenCV
这也不是我需要的
谢谢。尝试取消链接opencv并链接opencv3:
> readlink /usr/local/share/OpenCV
../Cellar/opencv/2.4.11_2/share/OpenCV
> brew unlink opencv
> brew link opencv3 --force
> readlink /usr/local/share/OpenCV
../Cellar/opencv3/3.0.0/share/OpenCV
否则,您可能需要为CMake设置适当的变量:尝试取消opencv与opencv3的链接:
> readlink /usr/local/share/OpenCV
../Cellar/opencv/2.4.11_2/share/OpenCV
> brew unlink opencv
> brew link opencv3 --force
> readlink /usr/local/share/OpenCV
../Cellar/opencv3/3.0.0/share/OpenCV
否则,您可能需要为CMake设置适当的变量:尝试取消opencv与opencv3的链接:
> readlink /usr/local/share/OpenCV
../Cellar/opencv/2.4.11_2/share/OpenCV
> brew unlink opencv
> brew link opencv3 --force
> readlink /usr/local/share/OpenCV
../Cellar/opencv3/3.0.0/share/OpenCV
否则,您可能需要为CMake设置适当的变量:尝试取消opencv与opencv3的链接:
> readlink /usr/local/share/OpenCV
../Cellar/opencv/2.4.11_2/share/OpenCV
> brew unlink opencv
> brew link opencv3 --force
> readlink /usr/local/share/OpenCV
../Cellar/opencv3/3.0.0/share/OpenCV
否则,您可能需要为CMake设置适当的变量:有几个选项 选项1 使用: 选项2 替换
find_package( OpenCV REQUIRED )
与
有两种选择 选项1 使用: 选项2 替换
find_package( OpenCV REQUIRED )
与
有两种选择 选项1 使用: 选项2 替换
find_package( OpenCV REQUIRED )
与
有两种选择 选项1 使用: 选项2 替换
find_package( OpenCV REQUIRED )
与
是的,我试过了,效果不错。但是我想在不取消链接的情况下实现这一点……是的,我试过了,效果很好。但是我想在不取消链接的情况下实现这一点……是的,我试过了,效果很好。但是我想在不取消链接的情况下实现这一点……是的,我试过了,效果很好。但我希望在不取消链接/链接的情况下实现这一点。
CMAKE_模块_PATH
指定用于查找包的CMAKE脚本的路径。您应该设置OpenCV相关变量,而不是设置此变量。FindOpenCV.cmake
中描述的唯一设置变量是OpenCV\u DIR
。尝试将其设置为/usr/local/ceral/opencv3/3.0.0
@Tsyvarev我没有FindOpenCV.cmake
文件。。它在文件系统中的什么位置?无需修改该文件,只需在CMakeLists.txt文件中设置变量,就像您尝试使用CMAKE\u MODULE\u PATH
one一样。CMAKE\u MODULE\u PATH
指定用于查找包的CMAKE脚本的路径。您应该设置OpenCV相关变量,而不是设置此变量。FindOpenCV.cmake
中描述的唯一设置变量是OpenCV\u DIR
。尝试将其设置为/usr/local/ceral/opencv3/3.0.0
@Tsyvarev我没有FindOpenCV.cmake
文件。。它在文件系统中的什么位置?无需修改该文件,只需在CMakeLists.txt文件中设置变量,就像您尝试使用CMAKE\u MODULE\u PATH
one一样。CMAKE\u MODULE\u PATH
指定用于查找包的CMAKE脚本的路径。您应该设置OpenCV相关变量,而不是设置此变量。FindOpenCV.cmake
中描述的唯一设置变量是OpenCV\u DIR
。尝试将其设置为/usr/local/ceral/opencv3/3.0.0
@Tsyvarev我没有FindOpenCV.cmake
文件。。它在文件系统中的什么位置?无需修改该文件,只需在CMakeLists.txt文件中设置变量,就像您尝试使用CMAKE\u MODULE\u PATH
one一样。CMAKE\u MODULE\u PATH
指定用于查找包的CMAKE脚本的路径。您应该设置OpenCV相关变量,而不是设置此变量。FindOpenCV.cmake
中描述的唯一设置变量是OpenCV\u DIR
。尝试将其设置为/usr/local/ceral/opencv3/3.0.0
@Tsyvarev我没有FindOpenCV.cmake
文件。。它在文件系统中的什么位置?无需修改该文件,只需在CMakeLists.txt文件中设置变量,就像您尝试使用CMAKE\u MODULE\u PATH
one一样。