配色: 字号:
CGAL安装
2013-09-25 | 阅:  转:  |  分享 
  
VS2010环境下安装CGAL步骤

我使用的是vs2010+CGAL4.2+boost1.47+CMake2.8.10.2+Qt4.8.1

其实别的版本都是一样的

1.安装cmake

版本(目前最新版本为2.8)应与CGAL版本配套,CGAL如是新版本,那么cmake也应安装

新版本,否则编译CGAL时会出现错误.安装方法简单,其中Installoptions(如下图)勾选第二

项,余下按照提示进行即可.



2.Boost安装

boost因为我下载的是安装包,所以直接双击运行即可。安装过程需要联网,下载必要的库函数。怕系统盘不够用,我把所有程序都安装在D盘下。

如果是exe安装的话,在安装前的配置设置上需要一些注意把boostoeration和boostthread勾选上





然后安装完成之后,检查一下环境变量Path里是否已经添加好boost的路径,没添加好的话把boost安装目录路径添加进去

我的路径是:D:\boost\boost_1_47

BOOST_ROOT=“D:\boost\boost_1_47”

至此,boost安装完毕.可进行调试,打开VS2010新建win32consoleapplication空项目,

添加cpp文件,将如下代码考入:

#include

#include

usingnamespacestd;

intmain()

{

usingboost::lexical_cast;

inta=lexical_cast("245");

doubleb=lexical_cast("245.0123456789");

strings0=lexical_cast(a);

strings1=lexical_cast(b);

cout<<"number:"<
cout<<"string:"<
intc=0;

try{

c=lexical_cast("abcd");

}

catch(boost::bad_lexical_cast&e)

{

cout<
}

getchar();

return0;

}

然后设置项目属性->配置属性->VC++目录;包含目录(include)填入

D:\boost\boost_1_47\include,库目录填入D:\boost\boost_1_47\libD:\boost\boost_1_47\lib32-msvc-10.0

运行结果为



3.安装Qt

(1)在QT官方网站http://download.qt-project.org/archive/qt下载qt-win-opensource-4.8.1-vs2010.exe

和qt-vs-addin-1.1.10.exe。前者是VS2010编译过的Qt库,后者是VS2010的Qt集成插件.

分别进行安装.

(2)安装完毕后,启动VS2010会增加一个Qt菜单,如图所示:

(3)可打开Qt自带的例子(D:\Qt\examples),进行调试(提示:机器上需预装netframework3.5,

否则打开vs2010就会弹出警告”unabletofindaversionoftheruntimetorunthis

applcation”).

(4)新建环境变量QTDIR,值为D:\Qt,并在path变量后加入D:\Qt\bin;

4.安装CGAL

(1)运行cmake-gui,目录设置为



(2)点击configure,编译器选择VisualStdio10,开始扫描.扫描完毕后进行编译选项的设置,

如图:其中后边那些WITH_XXX是要Build的库,不用的可以去掉,如Qt3,只保留Qt4。

如果不怕慢,可以选择把demos和examples也配置了,设置好之后再按一次Configue按





(2)再次configure,直到没有红色为止,单击generate,在Qt目录下生成一个CGAL.sln工程

文件.将其打开,直接build.

(3)设置环境变量.Path后加入D:\CGAL-4.2\auxiliary\gmp\lib,新建CGAL_DIR,职位

D:\CGAL-4.2.

(4)调试,新建一个空的win32consoleapplication工程,项目属性->VC++目录,添加以下

地址

//IncludeFiles包含目录:

D:\CGAL-4.2\auxiliary\gmp\include

D:\Qt\include

D:\Qt\include\QtCore

D:\Qt\include\QtGui

D:\Qt\include\ActiveQt

D:\Qt\mkspecs\win32-msvc2010

D:\boost_1_47

D:\CGAL-4.2\include

//LibraryFiles库目录:

D:\CGAL-4.2\auxiliary\gmp\lib

D:\CGAL-4.2\lib

D:\boost_1_47\lib

D:\Qt\lib

(5)添加测试代码:

#include

#include

#include

#include

#include

#include

intmain(intargc,charargv)

{

QApplicationapp(argc,argv);

QGraphicsScenescene;

scene.setSceneRect(0,0,100,100);

scene.addRect(QRectF(0,0,100,100),QPen(QColor(255,0,0)));

scene.addLine(QLineF(0,0,100,100));

scene.addLine(QLineF(0,100,100,0));

QGraphicsViewview=newQGraphicsView(&scene);

CGAL::Qt::GraphicsViewNavigationnavigation;

view->installEventFilter(&navigation);

view->viewport()->installEventFilter(&navigation);

view->setRenderHint(QPainter::Antialiasing);

view->show();

returnapp.exec();

}

调试结果如下图:



如果遇到下面类似的问题:

错误 1 errorLNK1104:无法打开文件“libboost_regex-vc100-mt-sgd-1_47.lib” E:\CGALStudy\BoostTest2\BoostTest2\LINK BoostTest2





错误 2 errorLNK1104:无法打开文件“libCGAL-vc100-mt-sgd-4.0.lib” E:\QTStudy\QtCgaltest\QtCgaltest\LINK QtCgaltest





错误 9 errorLNK2001:无法解析的外部符号"protected:virtualbool__thiscallQGLWidget::event(classQEvent)"(?event@QGLWidget@@MAE_NPAVQEvent@@@Z) E:\QTStudy\QtCgaltest\QtCgaltest\libCGAL_Qt4-vc100-mt-sgd-4.2.lib(all_files.obj) QtCgaltest

则需要进行对第四步进行修改,修改的内容如下:

Click"+AddEntry"andputin"Boost_USE_STATIC_LIBS"andsettotrue.

PressConfigure→Specify"VisualStudio10"asthegeneratorandpressFinish

Afterawhileabunchofoptionsinredwillcomeup.:

Optional:Select"WITH_examples"(longcompiletime)

NotOptional:Uncheck"WITH_CGAL_ImageIO","WITH_CGAL_PDB","WITH_CGAL_Qt3","WITH_CGAL_Qt4".

Change“CMAKE_BUILD_TYPE”to“Debug”

Pressconfiguretwiceagain.

Thispart''sannoying:Nexttothesearchbox,changefrom"SimpleView"to"AdvancedView".Thengothrougheach"Value"andchangeallreferencesof"MDd"to"MTd".Alsochangereferencesof"MD"to"MT".(typingMDdintothesearchboxhelpsfindthemall).

Pressconfigureagain.

Thispart''salsoannoying:In"Boost_"values,change"vc100-mt"to"vc100-mt-s",forinstance"libboost_thread-vc100-mt-gd-1_41.lib"→"libboost_thread-vc100-mt-sgd-1_41.lib"and"libboost_thread-vc100-mt-1_41.lib"→"libboost_thread-vc100-mt-s-1_41.lib"

Pressconfiguretwice,thenpressGenerate.YoucancloseCMake.



9.CompileVisualStudioCGAL-3.7outputs–VS2010DEBUG

Open:"CGAL-3.7\INSTALL.vcxproj"

Rightclick“ALL_BUILD”(inthesolutionexplorer),thenclick“Properties”.Goto“ConfigurationProperties”→“VC++Directories”.Ontheupperrightcornerselect"IncludeDirectories".Includethefollowinglines:

C:\ProgramFiles\CGAL-4.2\include

C:\ProgramFiles\CGAL-4.2\auxiliary\gmp\include

C:\ProgramFiles\CGAL-4.2\auxiliary\taucs\include

D:\boost\boost_1_45_0

Ontheupperrightcornerselect"libraryFiles".Includethefollowinglines:

C:\ProgramFiles\CGAL-4.2\lib

C:\ProgramFiles\CGAL-4.2\auxiliary\gmp\lib

C:\ProgramFiles\CGAL-4.2\auxiliary\taucs\lib

D:\boost\boost_1_43_0\lib

Rightclickon"CGAL"in"solutionexplorer"thenclick"properties.

Change"ConfigurationProperties"→"C/C++"→"OutputFiles"→"ProgramDatabaseFileName"from"...mt-gd..."to"...mt-sgd...".(forReleaseit’llbe“…-mt…”to“…-mt-s…”.

Alsochange"ConfigurationProperties"→"Librarian"→"OutputFile"from"...-gd..."to"...-sgd...".OR"C:/ProgramFiles/CGAL-3.7/lib/Debug/CGAL-vc100-mt-gd.lib"withoutquotes.

Alsochangefilenamesof"CGAL_Core"(lasttwosteps)

GotoMenu"Build→CleanSolution"

ThenMenu"Build→RebuildSolution"

不过其中有些步骤可以合并在一起,比如说:Select"WITH_examples"(longcompiletime)

NotOptional:Uncheck"WITH_CGAL_ImageIO","WITH_CGAL_PDB","WITH_CGAL_Qt3","WITH_CGAL_Qt4".

可以都勾选上!

如果再有什么问题,可以咨询我,发邮件也可以!



献花(0)
+1
(本文系lyf_123首藏)