Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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

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
编译opencv示例:未知的cmake命令ocv\u check\u依赖项_Opencv_Cmake_Osx Snow Leopard - Fatal编程技术网

编译opencv示例:未知的cmake命令ocv\u check\u依赖项

编译opencv示例:未知的cmake命令ocv\u check\u依赖项,opencv,cmake,osx-snow-leopard,Opencv,Cmake,Osx Snow Leopard,我正在尝试构建源代码包附带的OpenCV示例,我得到以下信息: CMake Error at CMakeLists.txt:10 (ocv_check_dependencies): Unknown CMake command "ocv_check_dependencies". 我确实使用 cmake . make sudo make install 我得到了一个教程片段(因此我认为它作为库正确安装)。然而,汇编样本并不奏效 我想我必须以某种方式配置CMake,使其具有“ocv\u检查\u

我正在尝试构建源代码包附带的OpenCV示例,我得到以下信息:

CMake Error at CMakeLists.txt:10 (ocv_check_dependencies):
  Unknown CMake command "ocv_check_dependencies".
我确实使用

cmake .
make
sudo make install
我得到了一个教程片段(因此我认为它作为库正确安装)。然而,汇编样本并不奏效

我想我必须以某种方式配置CMake,使其具有“ocv\u检查\u依赖性”-但如何配置?我迷路了

我明白了

为了构建示例,必须通过
-D
提供cmake来更改其默认配置。我犯的错误是,我试图从
samples
目录中执行cmake

构建示例的正确方法是像这样调用cmake(从解包归档文件的根目录中):

这将打开样本。可以继续使用make、make和install。建造后,可在
箱中找到样本


另请参见

有关OpenCV 2.4.4 beta版的详细信息,根CMakeList.txt文件显示:

OCV_选项(构建示例“构建所有示例”


-DBUILD\u EXAMPLES=ON
对我来说效果很好。

如何编译OpenCV示例代码

# For OpenCV 3 
cd /path/to/opencv/samples/cpp/
#Compile
g++ -ggdb `pkg-config --cflags --libs opencv` facedetect.cpp -o facedetect
#run
./facedetect
对我有用


mydragonisland的构建说明几乎对我起了作用;只需稍微调整一下顺序,并添加了口音:

g++ facedetect.cpp -o facedetect `pkg-config --libs opencv`

宏“ocv\u检查\u依赖项”在中定义:指向/opencv/cmake/OpenCVModule.cmake的路径

# ensures that all passed modules are available
# sets OCV_DEPENDENCIES_FOUND variable to TRUE/FALSE
macro(ocv_check_dependencies)
  set(OCV_DEPENDENCIES_FOUND TRUE)
  foreach(d ${ARGN})
    if(d MATCHES "^opencv_[^ ]+$" AND NOT HAVE_${d})
      set(OCV_DEPENDENCIES_FOUND FALSE)
      break()
    endif()
  endforeach()
endmacro()

顶级CMakeLists.txt包含用于opencv/cmake/文件的“include”命令。这就是为什么在从opencv源的根目录调用cmake进行编译时,宏可用的原因。

我遇到了类似的错误。我的方法如下: 1) cd xxx/样本2)mkdir构建3)cd构建4)cmake。。5) 制造 现在它起作用了。我们无法在其源文件下生成单个项目

理由 错误消息上下文:

CMake Error at CMakeLists.txt:10 (ocv_check_dependencies):
  Unknown CMake command "ocv_check_dependencies".
发生此错误消息的原因是cmake找不到
ocv\u check\u依赖项的定义

这就是为什么控制台显示未知的CMake命令

解决方案 如果cmake无法找到定义了
ocv\u检查\u依赖项的位置

正如@Nick Hockings所说:

ocv\u check\u dependencies
是在
Your/OpenCV/path/OpenCVModule.cmake中定义的宏

macro(ocv_check_dependencies)
  set(OCV_DEPENDENCIES_FOUND TRUE)
  foreach(d ${ARGN})
    if(d MATCHES "^opencv_[^ ]+$" AND NOT HAVE_${d})
      set(OCV_DEPENDENCIES_FOUND FALSE)
      break()
    endif()
  endforeach()
endmacro()
最快的方法是将上面的代码片段复制到您的
CMakeList.txt
文件,该文件位于
ocv\u check\u dependencies
的正上方

因此,cmake最终能够理解它是什么


这样就可以了,我希望以后不会有人再为这个问题烦恼了

以下步骤对我很有用

导出工具链路径

cd opencv-3.3.0/样本

克罗斯科马克& 十字架


cd opencv-3.3.0/samples/cpp/

您尝试过源代码外版本吗?谢谢!不过,我发现了几个拼写错误。缺少空格和示例,而不是示例。你是说
cmake-D BUILD\u示例。
?在我的机器上,它不能与空格一起工作。他们说的是样本,实际上是“构建样本”。根据文档,它是
-D BUILD\u SAMPLES=ON
,但是上面的方法对我有效。我尝试了
BUILD\u SAMPLES
,但它不起作用,所以我查看了CMakeLists文件,看到了
BUILD\u示例
。我用的是Unix源代码,也许你用的是另一个?不管怎样,这些评论都会出现在这里,供有此问题的其他人参考。看起来您正在源目录中运行cmake。不推荐AFAIK@drewish谢谢你的建议。这应该是公认的答案<代码>-DBUILD\u EXAMPLES=ON
用于所有文档。请参阅示例。如果我的答案对您有所帮助,请投赞成票,以便其他用户知道。谢谢,尼克苏,这是我的荣幸
macro(ocv_check_dependencies)
  set(OCV_DEPENDENCIES_FOUND TRUE)
  foreach(d ${ARGN})
    if(d MATCHES "^opencv_[^ ]+$" AND NOT HAVE_${d})
      set(OCV_DEPENDENCIES_FOUND FALSE)
      break()
    endif()
  endforeach()
endmacro()