2013-02-27 68 views
1

我想在我的项目中使用CGAL的halfedge数据结构。从cgal提取代码

由于它是LGPL许可的,我宁愿将这个小块与我的软件一起分发,而不要求在用户系统上安装这个大型库。

所以我的问题是,是否有像CGP的boost的bcp?我开始手动复制halfedge源文件,但看起来相当复杂。

预先感谢您

+2

我不这么认为。最简单的方法是用g ++ -E编译一个例子,并通过输出grep来获取包含头文件的列表,尽管很多可能并不是真的需要。 – 2013-02-27 11:16:24

+0

请注意,除非您修改代码,否则您需要在调试模式下与libCGAL链接... – 2013-02-27 11:18:30

+0

感谢您的信息! 你能解释一下如何修改代码来避免这种依赖吗? – user11275 2013-02-28 13:33:12

回答

1

目前还没有自动化的方式来只提取CGAL头的子集或仅包括其依赖包。您可以尝试手动完成此操作,只需遵循所有包含依赖关系。

即使你这样做,最大的问题是CGAL断言需要链接到libCGAL。您可以通过禁用通过CGAL_NDEBUG宏的断言来避免这种情况。从CGAL发行版中看到,如果一个软件包将代码编译为libCGAL,但PolyhedronHalfedge_DS都没有,那么你应该没问题。