Использование CGAL 5.1 со сторонними библиотеками

#cmake #cgal

#cmake #cgal

Вопрос:

Я пытаюсь скомпилировать пример read_las_example.cpp в каталоге примеров CGAL указывается Параметр_set_processing_3.

Однако cmake команда приводит к ошибке:

 include could not find load file:

    CGAL_LASLIB_support
  

Здесь приведены некоторые указания по использованию CGAL со сторонними библиотеками: https://doc.cgal.org/latest/Manual/thirdparty.html#thirdpartyLASlib
но я не в состоянии следовать ему. В частности, я не понимаю, как это сделать — «исполняемые файлы должны быть связаны с импортированным CMake целевым CGAL::LASLIB_support, предоставленным в CGAL_LASLIB_support.cmake«. Если это поможет, файл CGAL_LASLIB_support.cmake находится в каталоге cgal/5.1/lib/cmake/CGAL

Кто-нибудь может помочь с тем, как использовать CGAL со сторонними библиотеками, в частности LASlib.

Ответ №1:

Это означает, что вам нужно включить CGAL_LASLIB_support и вызвать target_link_libraries(your_exe_name CGAL::LASLIB_support) его, который уже используется в примере CmakeLists.txt , вы должны убедиться, что используемый вами CGAL действительно является 5.1, а не другой версией, кэшированной где-то в вашей системе. Цель CGAL::LASLIB_support существует только с версии 5.1, поэтому ошибка, похоже, указывает на то, что используемая вами версия CGAL не является правильной.

Комментарии:

1. Спасибо. Будучи новичком в CMake, я не знал, как использовать CGAL_LASLIB_support . Просто для завершения мне пришлось добавить каталог CGAL_LASLIB_support в путь к модулю CMake. Этого я добился, добавив следующую строку в CMakeLists.txt : список(ДОБАВЬТЕ CMAKE_MODULE_PATH «<путь к CGAL_LASLIB_support.cmake>»). Я уверен, что есть способ сделать это в командной строке при вызове CMake, но я пока не знаю способа. А вы ?

2. Я удивлен, что это еще не относится к простому CGAL_DIR

3. Да, интересно, не пропустил ли я какие-то настройки во время установки. Кроме того, если вам это поможет, LASlib, который поставляется с LAS tools, не работает. Мне пришлось использовать вилку LASlib, предоставленную CGAL.

4. Да, это то, что указано в документе CGAL. Для пути к модулю вы, должно быть, сделали что-то не так, потому что он уже задан сценариями CMake CGAL. Вам не нужно редактировать какие-либо существующие списки CMakeLists по какой-либо причине.

5. Я понимаю. Я фактически обновил версию с 5.0 до 5.1. Возможно, в этом причина. Но в любом случае, хорошо, что теперь я знаю вещи немного более четко. Спасибо.