在同一项目中使用 CGAL 和 PCL
Use CGAL and PCL in same project
我正在尝试在同一项目中使用CGAL和PCL。PCL 和 CGAL 都应该在我的计算机上正确安装,因为这些示例有效。 我创建了一个引用 PCL 和 CGAL 的 CMakeList.txt 文件,我可以在没有 CMake GUI 显示任何问题的情况下对其进行配置,但是当我打开项目.sln CGAL 包含有错误时 例如:无法打开包含文件:"CGAL/Simple_cartesian.h":没有此类文件或目录 所有 PCL 都包括工作正常。 如果我从 CMakeList 中删除所有 PCL 引用.txt则 CGAL 包括工作。我怀疑我的CMakeList.txt做错了什么。
有谁知道我做错了什么?
谢谢!
下面是我的CMakeList.txt
cmake_minimum_required(VERSION 3.1...3.15)
project(PC_Svr2)
find_package(CGAL QUIET)
if ( CGAL_FOUND )
# create a target per cppfile
file(GLOB cppfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
foreach(cppfile ${cppfiles})
create_single_source_cgal_program( "${cppfile}" )
endforeach()
else()
message(STATUS "This program requires the CGAL library, and will not be compiled.")
endif()
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (PC_Svr2 cloud_viewer.cpp)
target_link_libraries (PC_Svr2 ${PCL_LIBRARIES})
message("PCL_IO_LIBRARIES - ${PCL_IO_LIBRARIES}"(
file(GLOB cppfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
foreach(cppfile ${cppfiles})
create_single_source_cgal_program( "${cppfile}" )
endforeach()
那就是从CMAKE_CURRENT_SOURCE_DIR中的每个 cpp 文件创建一个目标。我不认为这是你想要的。 如果我理解正确,您的代码cloud_viewer.cpp,那么您应该删除循环并仅与 cgal 链接target_link_libraries:target_link_libraries(PCS_Svr2 CGAL::CGAL ${PCL_LIBRARIES})
您可以查看该页面以了解详细信息。
相关文章:
- 如何获取pcl迭代最近点(ICP)的迭代点数?
- CGAL:如何创建填充边界曲线的曲面网格?
- 将 PCL 链接到 Cython C++ 模块
- CGAL:添加要素失败
- PCL:当我在setConditionFunction中使用std::bind 时,没有合适的转换函数
- CGAL:在浏览平面地图时使用类型"标记"
- Python3.6 模板中的 CGAL C++ 集成错误
- PCL octree std::bad_alloc c++
- 是否可以制作没有内部分割的cgal 3d多多马因网格?
- 在点云库 (PCL) 中使用自定义点类型的问题
- 如何使用CGAL::D ereference_property_map进行简化?
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- CGAL 示例上的编译错误
- 从 CGAL 3D 网格生成中获取顶点坐标的 -6.27744e+66:mesh_implicit_sphere示例
- PCL:将两个点云缩放到相同的大小
- CGAL:无法打开 .xyz 文件
- 在同一项目中使用 CGAL 和 PCL
- CGAL - 表面网格参数化
- PCL 中的 GICP 用法
- 退出 PCL 查看器:即使窗口已关闭,wasStop() 也不会更改值