CGAL配置后使用时遇到的一些问题及解决方法

配置CGAL无需赘述,按照官网的教程一步步来即可。
配置完成后,我们可能会需要创建一个自己的项目,来使用CGAL。
假设我们使用Visual Studio创建一个最简单的项目,里面仅包含一个main.cpp文件:

#include "CGAL/Polyhedron_3.h"

int main()
{
    return 0;
}

明显地,我们需要将F:\OpenSource\CGAL-4.9\include\添加到头文件附加包含目录,将F:\OpenSource\CGAL-4.9\build\lib添加到附加库目录
编译后,会出现以下错误:

fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory

这说明我们还需要添加boost库的头文件目录,我这里是F:\OpenSource\boost_1_63_0
再次编译,又出现错误:

fatal error C1083: 无法打开包括文件: “CGAL/compiler_config.h”: No such file or directory

“compile_config.h”实际上是CMake生成的一个头文件,在F:\OpenSource\CGAL-4.9\build\include\CGAL目录下,所以我们同样将F:\OpenSource\CGAL-4.9\build\include也加入到头文件附加包含目录中。

再次编译,出现错误:

无法打开文件“libboost_thread-vc120-mt-gd-1_63.lib”

于是我们又需要将F:\OpenSource\boost_1_63_0\lib64-msvc-12.0添加到附加库目录中。

再次进行编译,这次出现的错误较多:

boost_system-vc120-mt-gd-1_63.lib(boost_system-vc120-mt-gd-1_63.dll) : error LNK2005: “class boost::system::error_category const & __cdecl boost::system::system_category(void)” (?system_category@system@boost@@YAAEBVerror_category@12@XZ) 已经在 libboost_system-vc120-mt-gd-1_63.lib(error_code.obj) 中定义
boost_system-vc120-mt-gd-1_63.lib(boost_system-vc120-mt-gd-1_63.dll) : error LNK2005: “class boost::system::error_category const & __cdecl boost::system::generic_category(void)” (?generic_category@system@boost@@YAAEBVerror_category@12@XZ) 已经在 libboost_system-vc120-mt-gd-1_63.lib(error_code.obj) 中定义
fatal error LNK1169: 找到一个或多个多重定义的符号

因为是Debug模式,所以显示的是带有gd标志的库。此时我们只需要将boost_system-vc120-mt-gd-1_63.lib添加到链接器->附加依赖项中即可。
再次编译,就可以成功通过了。

另外的,某些功能可能用到gmp库。所以用到这些功能时,我们还需要在头文件附加包含目录中添加F:\OpenSource\CGAL-4.9\auxiliary\gmp\include,在附加库目录中添加F:\OpenSource\CGAL-4.9\auxiliary\gmp\lib,并在链接器->附加依赖项中包含libgmp-10.liblibmpfr-4.lib

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值