最近做的QT项目涉及计算几何库,需要用到CGAL,其配置着实麻烦,而且相互关联的软件也存在版本兼容一类的问题,在这里就对其配置流程做一些整理说明,以便后来者能够少些烦恼。(注:以下使用Win10作说明)

本流程前题条件

VS+QT的配置已经没有问题

CGAL配置相关软件说明

在CGAL官网下载页面上有相关软件的安装配置说明(Download CGAL for Windows),所需软件和库分别是:Boost库(CGAL库是基于Boost C++库的),CMakeCGAL库。其中CMake版本要求可以稍宽松些,但是CGAL和Boost库的关联则非常紧密。

Boost库官网    CMake官网    CGAL官网

博主使用的版本如下:CMake-3.7.1,CGAL-4.8.2,Boost-1.60.0(都为64位版本)(各库的位宽尽量与系统相匹配,例如博主系统为64位Win10)

QT说明

博主的QT版本为5.7.0,如果不存在代差,QT的版本应该也不会和上面的版本存在兼容问题,博主未测试。 QT官网

VS说明

博主VS版本为VS2015-64社区版(内部版本号:14.0),同QT一样,只要不存在代差,VS版本与以上版本之间应该没有兼容问题,博主未测试过。

Boost说明

建议下载对应版本的压缩包(会精简些),解压后,在Boost目录下会有一个bootstrap.bat文件,可以打开dos界面切换到该目录下输入该文件名执行该文件(或在该目录空白处右键->在此处打开命令窗口),也可以双击运行它(完成时看不到打印消息)

执行完毕后,目录下会出现bjam.exe文件,此时在dos界面执行该文件,时间较长,请等待5-30min,该程序会先扫描当前系统编译环境,而后选择相匹配的库文件进行安装。

一般情况此时应该不会有update failed提示,如果存在该提示,有可能是系统编译环境问题或者Boost版本问题。(此处如果很难成功可以参考文末的-国内参考资料-某文库,该篇文章提到可以利用Boostpro进行更简便的安装)。

此处成功后,请一定记得为其安装目录类库目录添加系统环境变量:

BOOST_ROOT:BOOST安装目录

——————(例:G:\Dev\boost_1_60_0)

BOOST_LIBRARYDIR:%BOOST_ROOT%\stage\lib

——————(例G:\Dev\boost_1_60_0\stage\lib)

CGALCMake说明

CGAL安装是从Github上下载,CMake有其官网链接。

CGAL的环境变量也需要添加如下:

CGAL_DIR:CGAL安装目录

——————(例:G:\Dev\CGAL\CGAL_4.8.2)

path:CGAL的gmp库目录

——————(例:%CGAL_DIR%\auxiliary\gmp\lib)

注:CGAL的gmp库目录应该可以不加,如果出现问题再加也行。

安装完毕后,打开CMake中bin目录下的CMake-GUI.exe。

输入CGAL源目录(包括CMakeLists.txt文件,此文件中包括生成代码)和你想要新生成文件的路径(可以自己新建一个目录)。

此时点击configure进行配置,如果这里出现问题,一般都是环境变量配置错误。

成功配置后,开始Generate,此时会在生成目录下产生一个CGAL.sln的方案,此时用VS打开,对ALL_BUILD项目进行编译(最好DEBUG和RELEASE模式都需要进行编译,方便以后使用),会在生成目录的bin下产生如下动态链接库:

带gd表示是debug模式下产生,不带则为release模式下产生,此时可以将该目录加入path路径

path:CGAL编译目录\bin

——————(例:G:\Dev\CGAL\CGAL_Project\bin)

该路径可以不加,但是在运行项目时就需要将该目录下的相应的dll文件(debug和release模式分别对应)copy到项目目录下。

Demo试验

CGAL中的Demo测试可以参考博文:某博文 ,这篇博文是直接利用CMake编译生成的库进行测试的。以下对不利用CMake编译VS+CGAL的项目搭建进行说明。

首先对已建立的VS项目属性进行更改,添加附加Include

一共是四个:

$(BOOST_ROOT)

$(CGAL_DIR)\include

$(CGAL_DIR)\auxiliary\gmp\include

G:\Dev\CGAL\CGAL_Project\include

最后一个include目录是经过CMake配置+编译过后产生的一个头文件。

再添加附加Library

一共三个

$(CGAL_DIR)\auxiliary\gmp\lib

$(BOOST_LIBRARYDIR)

G:\Dev\CGAL\CGAL_Project\lib

最后是附加依赖项,这一项我没有加也可以运行,因此没有测试过。

这样下来应该就能成功编译运行Demo了。

国内参考资料

1 某博文

2 某文库

3 某博客

QT特供 CGAL配置流程(基于QT5+VS2015)的更多相关文章

  1. 我的QT5学习之路(一)——浅谈QT的安装和配置

    一.前言 说到Qt,不能不说到C++,这门伟大的语言.因为其面向对象的编程思想和陡峭的学习曲线,一开始学习起来很是吃力.Qt从QT4开始基本封装了很多C++的工具库和界面库,而且支持跨平台,这是它最大 ...

  2. 基于Qt5.5.0的sql,C++备忘录软件的编写

    我的第一个软件. 基于Qt5.5.0的 sql ,C++备忘录软件version1.0的编写 我用的Qt版本是5.5.0免配置编译器的版本,这里附上我使用的软件下载地址:http://download ...

  3. QTcreator打包发布可运行程序(基于QT5.7)

    完成C++界面程序后,我们还需要对程序进行Release,然后进行打包,才可以直接运行.我在这期间绕了一个大弯,现在记录下来我的做法供参考. 正确步骤 第一步:将构建程序改为Release,然后构建项 ...

  4. OpenCV-3.4.2基于Qt-5.10.1的编译

    OpenCV-3.4.2基于Qt-5.10.1的编译 由于本人在使用CMake和MinGW编译OpenCV是遇到了很多问题,在这里记录下来.至于所需软件的安装和相应环境变量的设置,网上有很多详细的教程 ...

  5. 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0

    作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...

  6. Linux下双网卡Firewalld的配置流程

    实验室拟态存储的项目需要通过LVS-NAT模式通过LVS服务器来区隔内外网的服务,所以安全防护的重心则落在了LVS服务器之上.笔者最终选择通过firewalld放行端口的方式来实现需求,由于firew ...

  7. 配置CLion作为Qt5开发环境

    使用Qt进行程序开发时QtCreator总是不二之选.作为老牌IDE在提供了强大的功能同时也对Qt的支持做了许多优化.如果没有特别的原因你应该使用它. 然而一个顺手的工具将会极大得提升生产效率,而如果 ...

  8. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  9. win10下vagrant+centos7 rails虚拟开发机配置流程

    此文写于2017.8.21 在写本文前,笔者已经尝试了多种其他的替代方法,例如wmware虚拟机安装kylin.然而发现总是还有各种问题.经大佬指点安装了virtualbox + vagrant.于是 ...

随机推荐

  1. C# readonly 与const

    引自:http://www.cnblogs.com/ryuasuka/p/3342282.html?utm_source=tuicool&utm_medium=referral 现在正在学&l ...

  2. 【BZOJ 1005】【HNOI 2008】明明的烦恼

    http://www.lydsy.com/JudgeOnline/problem.php?id=1005 答案是\[\frac{(n-2)!}{(n-2-sum)!×\prod_{i=1}^{cnt} ...

  3. C++:通过gethostbyname函数,根据服务器的域名,获取服务器IP

    本代码的编译环境为MAC,系统版本为10.11.6: #include <string.h> #include <netdb.h> #include <stdio.h&g ...

  4. How to Disable Strict SQL Mode in MySQL 5.7

    If your app was written for older versions of MySQL and is not compatible with strict SQL mode in My ...

  5. python--django项目如何设置用自己的iP地址访问项目

    一.首先需要执行>manage.py runserver 0.0.0.0:8000. 二.在setting.py里面需要添加ALLOWED_HOSTS="*".

  6. coocs2d-x 分辨率

    config.lua: CC_DESIGN_RESOLUTION = { width = , height = , autoscale = "FIXED_HEIGHT", call ...

  7. BZOJ 2879: [Noi2012]美食节

    2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1834  Solved: 969[Submit][Status] ...

  8. 在Mac系统中安装及配置Apache Tomcat

    1.下载Tomcat http://tomcat.apache.org/download-80.cgi 下载ZIP包,解压后放至任意地址,本例中放在/Users/GuQiang/Tomcat/apac ...

  9. Java开发环境搭建——Tomcat配置

    指定tomcat的JDK版本可能由于种种原因,系统的JAVA_HOME配置的JDK版本并不是当前需要的版本,而tomcat默认使用的是JAVA_HOME的JDK.可以通过修改tomcat/bin/ca ...

  10. theano broadcasting

    当我们使用函数对两个数组进行计算时,函数会对这两个数组的对应元素进行计算,因此它要求这两个数组有相同的大小(shape相同).如果两个数组的shape不同的话,会进行如下的广播(broadcastin ...