【问题标题】:CGAL draw function is giving 'CGAL_USE_BASIC_VIEWER is not defined' error in Visual StudioCGAL 绘图功能在 Visual Studio 中给出“CGAL_USE_BASIC_VIEWER 未定义”错误
【发布时间】:2019-09-11 15:18:45
【问题描述】:

我正在尝试从点云生成网格和 3D 对象。我搜索了很多图书馆,我决定使用 CGAL。我关注了this youtube 教程。由于我想查看对象,我需要使用 Qt5 库(如提到的here)并下载了它。它就像在教程中一样工作。

我使用过的库和应用程序

  • CMake 3.15.3
  • CGAL-4.13.1
  • Qt 5.13.0
  • 提升 1_71_0

问题是当我调用 CGAL::draw() 函数时,它给了我这个错误

无法绘制,因为 CGAL_USE_BASIC_VIEWER 未定义。

当我搜索它时,我一般都找到了

QMAKE_CXXFLAGS +=-DCGAL_USE_BASIC_VIEWER
LIBS+=-DCGAL_USE_BASIC_VIEWER

.pro文件解决方案(我没有.pro文件)和this

我无法应付他们。 是否有 Windows Visual Studio 解决方案?
我们如何定义CGAL_USE_BASIC_VIEWER
我需要导入一些 Qt5 库吗?

提前致谢!

更新
我的问题是我正在关注视频。在视频中,这家伙没有使用 cmake 构建源代码,而是手动添加了库等。

当我使用 cmake 构建源代码时,它可以工作。 有一个很简单的教程Here

【问题讨论】:

  • 你使用 cmake 吗?
  • 是的,我使用 cmake @gdamiand
  • 如果有更简单的方法,我想听听? @gdamiand
  • 我认为 cmake 是最简单的方法。查看 Triangulation_3 示例 github.com/CGAL/cgal/blob/master/Triangulation_3/examples/… 中的 CMakeLists.txt;您需要 (1) 将 cgal 与 QT5 一起使用; (2) 使用 add_definitions 定义 CGAL_USE_BASIC_VIEWER; (3) 使用 target_link_libraries 将您的程序与 CGAL_Qt5 链接。

标签: c++ qt cgal point-clouds


【解决方案1】:

使用 cmake,您需要执行以下操作才能使用 CGAL 基本查看器:

1) 将 cgal 与 QT5 一起使用

find_package(CGAL COMPONENTS Qt5)

2) 定义 CGAL_USE_BASIC_VIEWER

添加定义(-DCGAL_USE_BASIC_VIEWER)

3) 将您的程序与 CGAL_Qt5 链接

target_link_libraries(myexe PUBLIC CGAL::CGAL_Qt5)

查看 CGAL 中使用基本查看器的不同示例,例如 draw_triangulation_3.cpp 及其 CMakeLists.txt

【讨论】:

  • 它有效,我的问题是我正在关注视频。在视频中,这家伙没有使用 cmake 构建源代码,而是手动添加了库等。这就是为什么 cmake 解决方案对我来说毫无意义。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
  • 2022-07-25
  • 2021-12-13
  • 2014-12-26
  • 1970-01-01
相关资源
最近更新 更多