|
CGAL安装 |
|
|
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".
可以都勾选上!
如果再有什么问题,可以咨询我,发邮件也可以!
|
|
|
|
|
|
|
|
|
|
|