我是Cmake的新手,正在使用它来构建项目。我以前没有使用过此工具,因此对它的工作原理了解较少。
我正在尝试运行ArUco库的示例。但是ArUco库提供的自述文件建议使用Cmake来运行它们。我安装了Windows 8.1和Visual Studio 2013,还下载并安装了Cmake3.4.0。
安装后,我在Cmake上搜索了示例或教程,发现了一些video tutorials来展示如何使用cmake编译程序。但是在遵循相同步骤的同时,我遇到了错误。 Error如图所示
我经历了论坛中发布的其他问题,但没有找到答案。我不确定是否需要设置环境变量和路径。对此的一些建议将非常有帮助。
非常感谢你的帮助。
错误:
C编译器标识为MSVC 18.0.40629.0
CXX编译器标识为MSVC 18.0.40629.0
使用以下方法检查可用的C编译器:Visual Studio 12 2013
使用以下方法检查工作的C编译器:Visual Studio 12 2013-有效
检测C编译器ABI信息
检测C编译器ABI信息-完成
使用以下方法检查CXX编译器是否正常工作:Visual Studio 12 2013
使用以下方法检查CXX编译器是否正常工作:Visual Studio 12 2013-有效
检测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 )
真正的方法
更好的方法是在
Findaruco.cmake
中提供CMAKE_MODULE_PATH
模块。之所以称为模块是因为它与CMake的find_package
机制(https://cmake.org/cmake/help/v3.0/command/find_package.html,最后一次访问于2015年12月11日)集成在一起,并提供了有关在文件系统中可以找到aruco
位置的主要信息。 (Aruco
在这里仅是示例。其他模块也一样)这有什么好处,为什么我需要
find_package
和那些模块?答案很简单。您只有一个中央管理的地方,却没有很多。想象一下您的pacjage更改的位置。您是否要修复引用此程序包的每个
CMakeLists.txt
文件?就像基本的编程范例
不要重复自己
不要硬编码任何东西
关于c++ - 使用Cmake运行ArUco示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34226504/