一,下載安裝文件
1,CGAL-3.7:https://gforge.inria.fr/frs/download.php/27647/CGAL-3.7-Setup.exe
2,boost_1_47_0:http://cdnetworks-kr-2.dl.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.7z
3,qt-4.7.3:http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.3-vs2008.exe
http://get.qt.nokia.com/vsaddin/qt-vs-addin-1.1.9.exe
4,cmake-2.8.5:http://www.cmake.org/files/v2.8/cmake-2.8.5-win32-x86.zip
二,安裝cmake-2.8.5
解壓cmake-2.8.5-win32-x86.zip,並將E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\cmake\cmake-2.8.5-win32-x86\bin添加到環境變量PATH中。
三,安裝boost_1_47_0
安裝過程參見VS2008下編譯boost_1_47_0
說明:boost_1_47_0同時提供windows安裝版本,但下載時間過長,建議下載源碼自己編譯。
四,安裝qt-4.7.3
1,安裝qt-win-opensource-4.7.3-vs2008.exe
2,安裝qt-vs-addin-1.1.9.exe
說明:只需下載qt預編譯庫即可,無需下載SDK開發包。
五,安裝CGAL-3.7
1,安裝CGAL-3.7-Setup.exe,此過程要保持網絡連接,安裝程序會下載GMP和MPFR預編譯庫。安裝過程勾選全部的環境變量設置;
2,設置環境變量:QTDIR = C:\Qt\4.7.3
3,設置環境變量:BOOST_ROOT = E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\boost\boost_1_47_0
4,打開命令窗口,定位到CGAL-3.7所在目錄,E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7
5,運行cmake-gui . (cmake-gui後面有空格和點,表示在當前目錄,這點很重要)
6,點擊configure選擇編譯器:Visual Studio 9 2008,其他默認,
如果需要使用CGAL中的demo和examples,建議勾選WITH_demos和WITH_examples,
否則使用demo和examples會需要自己設置工程環境
7,再次點擊configure,程序開始對CGAL-3.7進行配置,如無錯誤,CMake會提示Configuring done,Generate按鈕變爲可用
8,點擊Generate按鈕,會在CGAL-3.7目錄下生成VS2008解決方案,如無錯誤,CMake會提示Generating done
9,關閉CMake
10,打開CGAL.sln
11,重新生成ALL_BUILD工程,編譯完成後CGAL-3.7目錄下會生成lib目錄,存放所生成的庫文件
12,CGAL安裝完畢
六,CGAL安裝驗證
1,配置VS2008
1)添加頭文件路徑:工具-選項-項目和解決方案-包含文件
C:\Qt\4.7.3\include
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\gmp\include
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\boost\boost_1_47_0
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\include
2)添加庫文件路徑:工具-選項-項目和解決方案-庫文件
C:\Qt\4.7.3\lib
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\gmp\lib
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\lib
E:\Himalayas\dev\6-SDK\cgal\source\CGAL-3.7\auxiliary\boost\boost_1_47_0\stage\lib
2,創建Win32控制檯程序
1)工程-屬性-C++常規
C:\Qt\4.7.3\include\QtCore,C:\Qt\4.7.3\include\QtGui,C:\Qt\4.7.3\include,C:\Qt\4.7.3
2)工程-屬性-鏈接器-輸入
C:\Qt\4.7.3\lib\qtmaind.lib C:\Qt\4.7.3\lib\QtGuid4.lib C:\Qt\4.7.3\lib\QtCored4.lib
3)添加代碼
- #include <iostream>
- #include <boost/format.hpp>
- #include <QtGui>
- #include <CGAL/Qt/GraphicsViewNavigation.h>
- #include <QLineF>
- #include <QRectF>
- int main(int argc, char **argv)
- {
- QApplication app(argc, argv);
- QGraphicsScene scene;
- 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));
- QGraphicsView* view = new QGraphicsView(&scene);
- CGAL::Qt::GraphicsViewNavigation navigation;
- view->installEventFilter(&navigation);
- view->viewport()->installEventFilter(&navigation);
- view->setRenderHint(QPainter::Antialiasing);
- view->show();
- return app.exec();
- }