Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 告诉cmake使用另一个版本的软件包_Macos_Cmake_Homebrew - Fatal编程技术网

Macos 告诉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(

我通过自制软件安装了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( 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一样。