Win7 64位 VS2013环境编译CGAL-4.7
看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译。
首先是看一下官网的windows下配置说明
http://www.cgal.org/download/windows.html
得知需要的第三方库有
boost_1_59_0(需要用二进制预编译版本,不用自己折腾一遍boost了,好极了)
然后还需要CMake,相信大部分编过第三方库的人都用过
然后肯定少不了CGAL库,这里使用CGAL-4.7-Setup.exe安装,而不是自己编译一遍,对我来说是大好消息
=====================================================================================================
这样准备工作就完成了,下面开始配置,注意虽然我用的是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 64位 VS2013环境编译CGAL-4.7的更多相关文章
- Win7 64位 VS2013环境编译Squirrel 3.0.7
Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...
- Win7 64位 VS2013环境编译boost1_58_0
备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...
- Win7 64位 VS2013环境编译Lua5.3.1
主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...
- Win7 64位 VS2013环境cuda_7.5.18的一些坑
thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...
- Win7 64位 VS2013环境使用cuda_7.5.18
首先得吐槽下VS2015出来快一年了CUDA居然还不支持,没办法重装系统刚从2013升到2015,还得再装回一个2013用,只为学习CUDA... 然后安装的时候,如果你选择自定义组件安装,注意不要改 ...
- Win7 64位 VS2015环境编译NanoVG
书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...
- Win7 64位 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- Win7 64位 VS2015环境编译Libpng
第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...
- win7 64位 php环境开启curl服务Call to undefined function
无法使用curl_init(),一般情况问题可能出在没有去加载php的扩展文件php_curl.dll(windows操作系统),但是检查了一下系统配置,发现,环境下已经将php.ini文件里 ;ex ...
随机推荐
- 纸上谈兵:图(graph)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...
- mac配置nginx
基本的安装其实网上一大半教程: 安装:brew install nginx 配置注意要点: 1.主要配置监听的端口和php-fpm监听的端口相同可以配置成默认的:(127.0.0 ...
- teamviewer现在无法捕捉屏幕,这可能是由于快速的用户切换或远程桌面会话已经断开
解决方法: 不用远程连接过去开启teamview,直接在在电脑本机上手动开启teamview就可以了 即:如果是mstsc远程过去开启,则会有这个错误提示,需要让服务器连接显示器,手动去登录 ...
- SHELL脚本攻略(学习笔记)--2.4 find
转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/5916657.html 超级强大的find命令. find搜索是从磁盘搜索,而不是从数据库搜索. 2.4 ...
- MySQL 5.7 深度解析: 半同步复制技术
复制架构衍生史 在谈这个特性之前,我们先来看看MySQL的复制架构衍生史. MySQL的复制分为四种: 普通的replication,异步同步. 搭建简单,使用非常广泛,从mysql诞生之初,就产生了 ...
- 开启telnet的几种方法
开启telnet方法一:需要VTY的密码和进入超级权限的密码(VTY虚拟终端,一种网络设备的连接方式) [R1]int g0/0/0[R1-GigabitEthernet0/0/0]ip add 19 ...
- Hibernate对象的状态
站在持久化的角度, Hibernate 把对象分为 4 种状态: 1. 持久化状态 2. 临时状态 3. 游离状态 4. 删除状态 Session 的特定方法能使对象从一个状态转换到另一个状态. 下面 ...
- JavaScript中的Map
1.首先,在新版本的浏览器中,已经实现了对Map的原生支持:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glob ...
- 关于c#中的console用法大全
C#之Console Console.Write 表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入.Console.WriteLine 表示向控制台写入字符串后换行.Conso ...
- WebForm 简单控件、复合控件
简单控件: Label:被编译成span 样式表里设置lable的高度: display:inline-block; Text --文本 ForeColor --字体颜色 Visible -- ...