运行 使用 Cmake 的 ArUco 示例

Run ArUco example using Cmake


我是 Cmake 的新手并使用它构建项目。我以前没有使用过这个工具,因此对它的工作原理知之甚少。
我正在尝试获取 ArUco 库 运行 的示例。但是 ArUco 库提供的 README 建议使用 Cmake 来 运行 它们。我有 Windows 8.1 和 Visual studio 2013,我还下载并安装了 Cmake3.4.0 。
安装后我在Cmake上搜索了例子或者教程,找到了几个video tutorials that showed how to compile programs using cmake. But while followed the same steps I got errors. Error如图

我查看了论坛中发布的不同问题,但没有找到答案。我不确定我是否需要设置环境变量和路径。对此的一些建议将非常有帮助。
非常感谢您的帮助。

错误:

C编译器标识为MSVC 18.0.40629.0
CXX编译器标识为MSVC 18.0.40629.0

使用以下命令检查工作的 C 编译器:Visual Studio 12 2013
使用以下命令检查工作的 C 编译器:Visual Studio 12 2013 -- works
检测 C 编译器 ABI 信息
检测 C 编译器 ABI 信息 - 完成
使用以下命令检查工作的 CXX 编译器:Visual Studio 12 2013
使用以下方法检查工作的 CXX 编译器:Visual Studio 12 2013 -- works
检测 CXX 编译器 ABI 信息
检测 CXX 编译器 ABI 信息 - 完成
检测 CXX 编译特性
检测 CXX 编译功能 - 完成
CMakeLists.txt:5 (find_package):
处的 CMake 错误 通过在 CMAKE_MODULE_PATH 中不提供 "Findaruco.cmake",该项目有
要求CMake找"aruco"提供的包配置文件,但是
CMake 没有找到。

找不到 "aruco" 提供的包配置文件 以下姓名:

arucoConfig.cmake<br/>
aruco-config.cmake<br/>

将"aruco"的安装前缀添加到CMAKE_PREFIX_PATH或设置 "aruco_DIR" 到包含上述文件之一的目录。如果"aruco" 提供单独的开发包或SDK,确保已经 安装。

配置不完整,出现错误!
另见 "E:/../aruco_testproject/build/CMakeFiles/CMakeOutput.log".

其实很清楚哪里出了问题。 CMake 找不到某些包。

快速而肮脏的解决方案

一种解决方案是按照错误消息的建议进行操作:

进入特定的 CMakeLists.txt 文件并像那样设置 aruco_Dir 变量

set( auruco_Dir /PATH/TO/ARUCO/WHERE/AURUCOCONFIG.CMAKE/IS/LOCATED/AS/WELL )

正道

更好的方法是在 CMAKE_MODULE_PATH 中提供 Findaruco.cmake 模块。之所以称为模块,是因为它集成了 CMake 的 find_package 机制(https://cmake.org/cmake/help/v3.0/command/find_package.html,最后访问时间为 11.12.2015)并提供了 central 信息 aruco 可以在您的文件系统中找到。 (Aruco 在这里只是示例。其他模块也是如此)

这有什么用,为什么我需要 find_package 和那些 模块

答案很简单。您只有一个中心位置可以管理,而且数量不多。想象一下你的包的位置发生了变化。是否要修复引用此包的每个 CMakeLists.txt 文件? 就像基本的编程范式

  • Dont repeat yourself

  • Dont hardcode anything

我在 Mac 上遇到了同样的问题,希望 Windows 用户也觉得这有用。

很可能你没有安装aruco。转到您下载的 aruco 源文件夹(即 ~/Downloads/aruco-2.0.14)和 运行 以下命令 cmake . make make install

然后你就可以构建aruco_testproject cmake . make 希望这有帮助