看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译。

首先是看一下官网的windows下配置说明

http://www.cgal.org/download/windows.html

得知需要的第三方库有

boost_1_59_0(需要用二进制预编译版本,不用自己折腾一遍boost了,好极了)

Qt msvc2013-5.5.1

libQGLViewer

然后还需要CMake,相信大部分编过第三方库的人都用过

CMake

然后肯定少不了CGAL库,这里使用CGAL-4.7-Setup.exe安装,而不是自己编译一遍,对我来说是大好消息

CGAL4.7下载

=====================================================================================================

这样准备工作就完成了,下面开始配置,注意虽然我用的是64位系统,但是我只编译32位库,因为只是打算试着编译这个库,并不打算太过使用,

如果要编译64位应该差不多,只要下载对应的64位版本,配到对应目录就行了,比如用到Unreal4中

首先安装boost预编译版本,我用的是boost_1_59_0-msvc-12.0-32.exe

我装到了

D:\CPPLibs\boost\boost_1_59_0

然后新建环境变量BOOST_LIBRARYDIR和BOOST_INCLUDEDIR,设置为

BOOST_LIBRARYDIR=D:\CPPLibs\boost\boost_1_59_0\lib32-msvc-12.0
BOOST_INCLUDEDIR=D:\CPPLibs\boost\boost_1_59_0

修改为你自己的目录

然后把boost根目录

D:\CPPLibs\boost\boost_1_59_0

加到path目录

然后安装QT5.5.1

我装到了D盘

D:\Qt\Qt5.5.1

新建环境变量QTDIR

把你的QT5.5.1根目录加进去

D:\Qt\Qt5.5.1

然后把bin目录加到path目录中,注意QT的bin目录最好放到path环境变量最前面,官方上说可以防止冲突什么的

D:\Qt\Qt5.5.1\5.5\msvc2013\bin

然后是libQGLViewer

我放到了

D:\CPPLibs\libQGLViewer-2.6.3

打开你的命令提示符

官方上说

Start the x86 Visual Studio Command Prompt

但是我没找到,所以我自己用的方法是打开命令提示符,然后找到

D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat

拖进命令提示符中运行一次,配置环境变量,注意这是32位版本,你如果用64位好像还有个vcvars64.bat

然后命令提示符进入下面的目录

D:\CPPLibs\libQGLViewer-2.6.3\QGLViewer

然后分别运行

qmake

nmake

如果没有错误就说明编译正确,我之前没有运行环境变量,所以会有rc什么的提示找不到windows.h之类的,配上环境变量应该就能找到了

如果提示rc什么不是命令之类的,我不知道是不是我之前没运行那个vcvars32的问题,提示过找不到,那么你找到rc.exe目录,加到环境变量中就行了。

一般不是在VS安装目录,就是在系统盘的sdk8.0或8.1目录,总之如果有找不到rc.exe的提示加到环境变量就行了

然后新建环境变量QGLVIEWERROOT

配上QGLViewer根目录位置

D:\CPPLibs\libQGLViewer-2.6.3

==================================================================================================

以上配置工作就基本完成了。可以开始编译CGAL了

运行CGAL-4.7-Setup.exe,注意需要联网,因为要下载文件

我装到了

D:\CPPLibs\CGAL-4.7

打开CMake GUI,把

D:\CPPLibs\CGAL-4.7\CMakeLists.txt

拖到CMake GUI上就行了

注意拖的时候要清空source和binaries文本框,不然是拖不上去的

然后把

Where to build the binraries路径最后加个build,他会问目录不存在是否创建,确定就行了。

搞定后点Configure,过一会儿都找到对应库,提示没问题后点Generate,如果一切正确就会生成

CGAL.sln

打开工程文件

在解决方案上右键,选Batch Build

勾上All Build的Debug和Release

点Build就行了,一切正确的话CGAL就编译完了

==================================================================================================

接下来编译Example

注意不要想当然的编译Example目录下那个所有工程的CMake,那个生成的sln会包含一堆工程,如果装了Visual Assist打开工程会死得很惨。Parsing时间很长

像官方说的,只测试相应的

打开CMake GUI,清空,然后把

D:\CPPLibs\CGAL-4.7\examples\Convex_hull_2\CMakeLists.txt

拖上去,配置,生成,就好了。

生成sln工程后编译运行,如果提示

缺少boost或者是

丢失libgmp-10.dll

之类的,需要把boost的dll和libgmp-10.dll路径加到path环境变量中

可能需要设置的调用dll的环境变量目录名字

D:\Qt\Qt5.5.1\5.5\msvc2013\bin;

D:\CPPLibs\CGAL-4.7\build\bin;

D:\CPPLibs\CGAL-4.7\auxiliary\gmp\lib

D:\CPPLibs\boost\boost_1_59_0\lib32-msvc-12.0;

D:\CPPLibs\libQGLViewer-2.6.3\QGLViewer

如果一切正确,把

ch_timing设成工程启动项并运行,显示这样

这样就证明Example运行正常了

==================================================================================================

最后是编译Demo工程,同上,打开CMake GUI,清空

D:\CPPLibs\CGAL-4.7\demo\Triangulation_3\CMakeLists.txt

拖上去,配置,生成sln,编译运行

Win7 VS2013环境编译CGAL-4.7的更多相关文章

  1. Win7 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  2. Win7 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  3. Win7 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  4. Win7 64位 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  5. Win7 64位 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  6. Win7 64位 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  7. Win7 64位 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  8. C++ VS2013环境编译使用sqlite数据库全过程

    转载:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html 转载:https://blog.csdn.net/hjm4702192/ ...

  9. Win7 VS2013环境cuda_7.5.18的一些坑

    thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...

随机推荐

  1. java常量类编译问题

    常量类编译后并不在.class文件中呈现,取而代之的是各个具体的常量.例如: 编译前:(Constant.OPTIONSRADIO常量值为1) 编译后: 应用场景 1,项目编译后发布项目前可以删除常量 ...

  2. PARAMETERS 指令

    语法: PARAMETERS  <p>  [DEFAULT <f>] [LOWER CASE] [OBLIGATORY] [AS CHECKBOX] [RADIOBUTTON ...

  3. pthreads v3在centos7下的安装与配置

    我的centos版本是7.4.1708,php的版本是7.2.4(注意要是线程安全版),如下图所示: 首先我们在如下网址下载好pthreads的源码: http://pecl.php.net/pack ...

  4. go语言使用go-sciter创建桌面应用(七) view对象常用方法,文件选择,窗口弹出,请求

    view对象的详细文档请看: https://sciter.com/docs/content/sciter/View.htm demo9.html代码如下: <!DOCTYPE html> ...

  5. php 通过stomp协议连接ActiveMQ

    一.安装php的stomp扩展 http://pecl.php.net/package/stomp 如:stomp-2.0.0.tgz > tar xf stomp-1.0.9.tgz > ...

  6. Oracle高级查询之OVER

    注释:为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的 oracel的高级用法:rank()/dense_rank() over(partition by ...orde ...

  7. maven工程的拆分与聚合

    1.创建父工程: 首先创建maven Project: 点击next,进入下一个页面,勾选上create a simple project: 点击next,进入下一页面,在这里与创建普通maven工程 ...

  8. CSS-calc 兼容写法

    width: 90%;/*写给不支持calc()的浏览器*/ width:-moz-calc(100% - (10px + 5px) * 2); width:-webkit-calc(100% - ( ...

  9. 模块二 hashlib模块、configparser模块、logging模块

    算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常 ...

  10. hibernate懒加载

    Hibernate懒加载解析 hibernatejoinsession数据库sqlobject Hibernate懒加载解析 在Hibernate框架中,当我们要访问的数据量过大时,明显用缓存不太合适 ...