Я пользователь на сервере CentOS 6, и администратор был достаточно любезен, чтобы установить на него CGAL.Сначала я опишу CMakeLists.txt на моей локальной машине, для которой все работает, а затем мой вопрос будет, почему то же самое не работает на сервере.На моем ноутбуке у меня есть проект, который использует пример EMST https://doc.cgal.org/latest/BGL/BGL_triangulation_2_2emst_8cpp-example.html. "Самый внешний" CMakeLists.txt имеет find_package(CGAL)
, а конкретный CMakeLists.txt имеет это:
add_executable(emst emst.cpp)
target_compile_options(emst BEFORE PUBLIC -mcmodel=large PRIVATE -pg -g -O2)
target_link_libraries(emst CGAL::CGAL)
Весьвещь "работает на моей машине" (с).Обычно в директории сборки проекта я запускаю cmake ../
, а затем в специфичном для emst подкаталоге make emst
(конечно, все это делается соответствующим щелчком внутри CLion).Теперь эта настройка не работает на сервере.Я получаю следующие ошибки:
/emst.cpp:99:44: error: no matching function for call to ‘source(edge_descriptor&, Triangulation&)’
vertex_descriptor svd = source(ed,t);
^
In file included from /usr/include/CGAL/boost/graph/graph_traits_Delaunay_triangulation_2.h:25:0,
Администратор сказал мне следующее:
библиотеки можно найти в / usr / lib64 и файлы заголовков в / usr / include/CGAL.
В какой-то момент во время cmake ../
-фазы на сервере я получаю сообщение, такое как:
CMake Warning (dev) atutils / CMakeLists.txt: 31 (add_executable):
Политика CMP0028 не установлена: двойное двоеточие в имени цели означает ALIAS или цель IMPORTED.Запустите «cmake --help-policy CMP0028» для получения подробной информации о политике.Используйте команду cmake_policy, чтобы установить политику и отключить это предупреждение.
Цель "emst" ссылки на цель "CGAL :: CGAL", но цель не была найдена.Возможно, отсутствует вызов find_package () для цели IMPORTED или отсутствует цель ALIAS?Это предупреждение для разработчиков проектов.Используйте -Wno-dev, чтобы подавить его.
Я попытался find_package(CGAL REQUIRED)
, чтобы выдать ошибку, если она не найдена.Похоже, что пакет найден .Что здесь может пойти не так?