Я пытаюсь использовать lib CGAL для реконструкции трехмерных сеток. Я хотел бы проверить некоторые примеры, доступные на Веб-сайт, но теперь, чтобы сделать это правильно …
Что я сделал :
Скачать источник с мерзавец (выпуск 4.10)
Установил зависимость (не все кроме части)
И запустите cmake-gui .., который предоставляет это после шага настройки:
Но когда я делаю следующее включает в себя:
#include <opencv2/opencv.hpp>
#include <CGAL/trace.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
//#include <CGAL/Polyhedron_3.h>
//#include <CGAL/IO/Polyhedron_iostream.h>
//#include <CGAL/Surface_mesh_default_triangulation_3.h>
//#include <CGAL/make_surface_mesh.h>
//#include <CGAL/Implicit_surface_3.h>
//#include <CGAL/IO/output_surface_facets_to_polyhedron.h>
//#include <CGAL/Poisson_reconstruction_function.h>
#include <CGAL/Point_with_normal_3.h>
#include <CGAL/property_map.h>
#include <CGAL/IO/read_xyz_points.h>
//#include <CGAL/compute_average_spacing.h>
//#include <CGAL/Polygon_mesh_processing/distance.h>
Только раскомментированная работа.
Что я сделал, чтобы проверить:
Я мой cmake
find_package (CGAL REQUIRED)
MESSAGE ( «=======================»)
MESSAGE ( «$ {CGAL_USE_FILE}»)
MESSAGE ( «$ {CGAL_INCLUDE_DIRS}»)
MESSAGE ( «$ {CGAL_LIBRARIES_DIR}»)
MESSAGE ( «=======================»)
СПИСОК (APPEND INCLUDE_DIRS $ {CGAL_INCLUDE_DIRS})
СПИСОК (ПРИЛОЖИТЬ БИБЛИОТЕКИ $ {CGAL_LIBRARIES_DIR})
(часть списка предназначена для предоставления доступа к библиотекам всем модулям в cmakelist, выполнив
FILE(GLOB APPFILES "app/*.cpp")
FOREACH(APPFILE ${APPFILES})
GET_FILENAME_COMPONENT(APPNAME ${APPFILE} NAME_WE)
ADD_EXECUTABLE(${APPNAME} ${APPFILE})
TARGET_LINK_LIBRARIES(${APPNAME} ${LIBRARIES} )
ENDFOREACH()
)
какой дисплей:
=======================
/usr/local//lib/CGAL/UseCGAL.cmake
/usr/local//include
/usr/local//lib
=======================
Более того, когда я запускаю cmake .. Я получил это:
ВНИМАНИЕ: целевой «testCGAL» запрашивает ссылку на каталог «/ usr / local // lib». Цели могут ссылаться только на библиотеки. CMake сбрасывает предмет.
ВНИМАНИЕ: целевой «testCGAL» запрашивает ссылку на каталог «/ usr / local // lib». Цели могут ссылаться только на библиотеки. CMake сбрасывает предмет.
(testCGAL — это имя класса для проверки импорта).
Я не понимаю, почему часть моих комментариев не работает. Кто-то может сказать мне, почему или может дать мне совет?
Спасибо
PS: Кстати, я хотел бы сделать реконструкцию трехмерных сеток из карты глубины (и соответствующего цвета) или цветного облака точек. Кроме того, я хотел бы получить текстурированную сетку. Кто-нибудь знает хорошую библиотеку для этого?
=============== РЕДАКТИРОВАТЬ ============
В конце, когда я запускаю cmake .. и все компилирую, но я получаю следующее сообщение об ошибке:
[ 99%] Building CXX object CMakeFiles/testCGAL.dir/app/testCGAL.cpp.o
[100%] Linking CXX executable bin/testCGAL
CMakeFiles/testCGAL.dir/app/testCGAL.cpp.o: In function `CGAL::Interval_nt<false>::Test_runtime_rounding_modes::Test_runtime_rounding_modes()':
testCGAL.cpp:(.text._ZN4CGAL11Interval_ntILb0EE27Test_runtime_rounding_modesC2Ev[_ZN4CGAL11Interval_ntILb0EE27Test_runtime_rounding_modesC5Ev]+0xd2): undefined reference to `CGAL::assertion_fail(char const*, char const*, int, char const*)'
testCGAL.cpp:(.text._ZN4CGAL11Interval_ntILb0EE27Test_runtime_rounding_modesC2Ev[_ZN4CGAL11Interval_ntILb0EE27Test_runtime_rounding_modesC5Ev]+0x180): undefined reference to `CGAL::assertion_fail(char const*, char const*, int, char const*)'
CMakeFiles/testCGAL.dir/app/testCGAL.cpp.o: In function `CGAL::Interval_nt<true>::Test_runtime_rounding_modes::Test_runtime_rounding_modes()':
testCGAL.cpp:(.text._ZN4CGAL11Interval_ntILb1EE27Test_runtime_rounding_modesC2Ev[_ZN4CGAL11Interval_ntILb1EE27Test_runtime_rounding_modesC5Ev]+0xd2): undefined reference to `CGAL::assertion_fail(char const*, char const*, int, char const*)'
testCGAL.cpp:(.text._ZN4CGAL11Interval_ntILb1EE27Test_runtime_rounding_modesC2Ev[_ZN4CGAL11Interval_ntILb1EE27Test_runtime_rounding_modesC5Ev]+0x180): undefined reference to `CGAL::assertion_fail(char const*, char const*, int, char const*)'
collect2: error: ld returned 1 exit status
CMakeFiles/testCGAL.dir/build.make:352: recipe for target 'bin/testCGAL' failed
make[2]: *** [bin/testCGAL] Error 1
CMakeFiles/Makefile2:302: recipe for target 'CMakeFiles/testCGAL.dir/all' failed
make[1]: *** [CMakeFiles/testCGAL.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Задача ещё не решена.
Других решений пока нет …