CGAL VS2010环境变量

配置完cgal后,用 cmake build一个demo或example可以非常正常的运行,比如Boolean_set_operations_2下do_intersect的示例,运行结果如下:
这里写图片描述
这里写图片描述
代码也很简单:

//GDAL头文件
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Boolean_set_operations_2.h>

//定义
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel;
typedef Kernel::Point_2                                   Point_2;
typedef CGAL::Polygon_2<Kernel>                           Polygon_2;

//一个专门用于打印的工具
#include "print_utils.h"

int main ()
{
  //多边形
  Polygon_2 P;
  P.push_back (Point_2 (-1,1));
  P.push_back (Point_2 (0,-1));
  P.push_back (Point_2 (1,1));
  std::cout << "P = "; print_polygon (P);

  Polygon_2 Q;
  Q.push_back(Point_2 (-1,-1));
  Q.push_back(Point_2 (1,-1));
  Q.push_back(Point_2 (0,1));
  std::cout << "Q = "; print_polygon (Q);

  //判断是否相交
  if ((CGAL::do_intersect (P, Q)))
    std::cout << "The two polygons intersect in their interior." << std::endl;
  else
    std::cout << "The two polygons do not intersect." << std::endl;

  return 0;
}

看到这里,也想自己创建一个VS项目来实现以下这个代码;想来应该很简单,直接打开这个项目的工程属性,一个一个的copy过去应该没错了吧。
项目配置文件如下:
这里写图片描述
这里写图片描述
这里写图片描述

于是新建一个工程,copy刚才的代码和配置方法,信心满满的编译了一个一下,~_~:
1>libboost_thread-vc100-mt-1_50.lib(thread.obj) : error LNK2001: 无法解析的外部符号 “

感觉应该是少加了这一个lib,于是添加上:
libboost_thread-vc100-mt-1_50.lib(thread.obj) : error LNK2001: 无法解析的外部符号 “public: static class boost::

~_~,这样想来demo里应该自己在什么地方添加了boost的什么lib,但是demo的配置里并没有说究竟是什么lib,而boost的lib多到根本没有欲望把所有的都添加进来的想法;思考了一下,这些lib肯定是编译的时候需要的,那么 cmake cgal 的CMake文件里肯定有写相关的一些lib配置,后来在cgal的编译文件中找到:
这里写图片描述

于是把这两个lib,添加到lib中,编译成功了,得到了上述的运行结果。
我的配置文件如下:
Include:
C:\thirdParty\cgal\auxiliary\gmp\include
C:\thirdParty\boost_1_50
C:\thirdParty\cgal\include

libPath:
C:\thirdParty\cgal\lib\Release
C:\thirdParty\boost_1_50\lib
C:\thirdParty\cgal\auxiliary\gmp\lib

lib:
libgmp-10.lib
libmpfr-4.lib
CGAL-vc100-mt-4.7.lib
CGAL_Core-vc100-mt-4.7.lib
boost_system-vc100-mt-1_50.lib
boost_thread-vc100-mt-1_50.lib

后记:熟悉boost的人一看这个错误,应该能够立马反应过来;但是像我这种根本不熟悉boost的,只能这样解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值