Запустите пример ArUco, используя Cmake

Я новичок в Cmake и для создания проектов, используя его. Я не использовал этот инструмент раньше и, следовательно, имею меньше знаний о том, как он работает.
Я пытаюсь получить примеры запуска библиотеки ArUco. Но README, предоставляемый библиотекой ArUco, предлагает использовать Cmake для их запуска. У меня Windows 8.1 и Visual studio 2013, я также скачал и установил Cmake3.4.0.
После установки я искал примеры или учебники на Cmake, и нашел несколько видео уроки это показало, как компилировать программы, используя cmake. Но, следуя тем же шагам, я получил ошибки. ошибка как показано

Я просмотрел разные вопросы, опубликованные на форуме, но не нашел ответа. Я не уверен, что мне нужно установить переменные среды и пути. Некоторые предложения по этому вопросу были бы действительно полезны.
Огромное спасибо за помощь.

Ошибка:

Идентификатор компилятора C — MSVC 18.0.40629.0
Идентификатор компилятора CXX — MSVC 18.0.40629.0

Проверьте работоспособность компилятора C, используя: Visual Studio 12 2013
Проверьте работоспособность компилятора C с помощью: Visual Studio 12 2013 — работает
Обнаружение C-компилятора ABI info
Обнаружение информации ABI компилятора C — выполнено
Проверьте работоспособность компилятора CXX с помощью: Visual Studio 12 2013
Проверьте работоспособность компилятора CXX с помощью: Visual Studio 12 2013 — работает
Обнаружение CXX компилятора ABI info
Обнаружение информации ABI CXX компилятора — сделано
Обнаружение функций компиляции CXX
Обнаружение функций компиляции CXX — сделано
CMake Ошибка в CMakeLists.txt: 5 (find_package):
Не предоставляя «Findaruco.cmake» в CMAKE_MODULE_PATH, этот проект имеет
попросил 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».

0

Решение

На самом деле это довольно ясно, что происходит не так. 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, Последний доступ по состоянию на 11.12.2015) и предоставляет центральный информация о том, где aruco можно найти в вашей файловой системе. (Aruco это просто пример здесь. То же самое касается любого другого модуля)

Для чего это нужно, зачем мне find_packageи те модули?

Ответ прост. У вас есть только одно центральное место для управления и не много. Представьте себе местоположение ваших изменений pacjage. Вы хотите исправить каждый CMakeLists.txt файл, ссылающийся на этот пакет?
Это как основные парадигмы программирования

  • Не повторяйся

  • Ничего не кодировать

0

Другие решения

У меня была такая же проблема на Mac, надеюсь, пользователи Windows тоже найдут это полезным.

Скорее всего, вы не установили Aruco. Перейдите в папку с исходным кодом aruco, которую вы загрузили (т.е. ~ / Downloads / aruco-2.0.14) и выполните следующие команды

cmake .
make
make install

Тогда вы сможете построить aruco_testproject

cmake .
make

Надеюсь это поможет

1