原作者: 我來(lái)自江南
一、安裝CGAL需要boost,qt的庫(kù),我是在win7下裝的 1)、首先下載CGAL(3.8)的安裝程序,從https://gforge.inria.fr/frs/?group_id=52(在頁(yè)面的最下面) 2)、獲得最新版本的CMake(目前是2.8),從http://www.cmake.org/cmake/resources/software.html 3)、獲得最新版本的QT(目前是4.7),從http://www.qtsoftware.com/downloads/windows-cpp 下載sdk在windows下的版本。 4)、獲得最新版本的boost從http://www.boost.org/users/download/ ,或者是從http://www.boostpro.com/download 這里下載window的安裝程序 二、編譯Boost 1)下載Boost 首先,我們到http://www.boost.org去下載 boost的代碼包。 解壓到一個(gè)源代碼目錄下。 2)獲取編譯工具 首先,我們需要到bjam.exe這是一個(gè)用于編譯的工具。 接下來(lái)我將會(huì)在Visual Studio 2008 SP1簡(jiǎn)體中文專(zhuān)業(yè)版中編譯boost_1_46_1。我們?nèi)ラ_(kāi)始菜單,使用管理員身份運(yùn)行Visual Studio 2008 命令提示(非Vista請(qǐng)無(wú)視): 3)然后我們通過(guò)cd等DOS指令進(jìn)入到: Setting environment for using Microsoft Visual Studio 2008 x86 tools. C:Windowssystem32>e: D:>cd boost_1_46_1 D: boost_1_46_1>cd tools D: boost_1_46_1tools>cd build D: boost_1_46_1toolsjam>cd v2 如此打開(kāi)文件夾 (最新版本是在E:Program Filesboost_1_46_1toolsbuildv2enginesrc)下尋找 然后我們?cè)谶@個(gè)src目錄下面執(zhí)行build.bat: E:Program Filesboost_1_46_1toolsbuildv2enginesrc>build.bat 然后我們稍等一小會(huì)兒等待系統(tǒng)自動(dòng)為我們生成編譯工具。 生成完畢之后E:Program Filesboost_1_46_1toolsbuildv2enginesrc目錄下會(huì)出現(xiàn)一個(gè)bin.ntx86目錄。進(jìn)入這個(gè)目錄會(huì)看見(jiàn)bjam.exe。 三、編譯boost 我們把這個(gè)bjam.exe拷貝到boost_1_46_1源文件的根目錄即我的E:Program Filesboost_1_46_1 同上面的方法打開(kāi)Visual Studio 2008 命令提示,進(jìn)入E:boostSDK。通過(guò)如下命令我們就可以查看當(dāng)前版本的Boost的哪些組件需要編譯了,因?yàn)锽oost大部分組件都是以模板的形式存在的,不需要編譯: D: boost_1_46_1>bjam --show-libraries The following libraries require building: - date_time - filesystem - function_types - graph - iostreams - math - mpi - program_options - python - regex - serialization - signals - system - test - thread - wave D: boost_1_46_1>bjam install --toolset=msvc --prefix="D:E:boostSDK" debug --build-type=complete 但是他不會(huì)安裝到你的文件夾中,而是在對(duì)應(yīng)的根目錄下創(chuàng)建了一個(gè)E:boostSDKdebug文件夾,但是沒(méi)關(guān)系,等他編譯完我們就再拷貝到這個(gè)文件夾中 剩下的參數(shù)都用默認(rèn)的了。敲下回車(chē),好了,開(kāi)始耐心等待編譯完成吧。在此之前請(qǐng)確認(rèn)您的D盤(pán)的剩余空間,要完整編譯需要大約3G的剩余空間,主要是會(huì)生成很多臨時(shí)文件,編譯連接完之后我們可以刪除掉的。曾經(jīng)在網(wǎng)上看到說(shuō)需要12G的空間,編譯需要好幾個(gè)小時(shí),可能是現(xiàn)在不一樣了吧,呵呵,電腦配置越來(lái)越好了。而且整個(gè)編譯過(guò)程也需要一定的時(shí)間,編譯Debug版本大約需要40-80分鐘不等,Release也差不多,根據(jù)不同的機(jī)器配置會(huì)有所不同,當(dāng)然配置越好越快啦。 大家可以看看Boost生成的這些Lib文件,比如boost_regex-vc90-mt-gd- 1_46_1.lib。它的命名很考究的。 boost代表這是boost庫(kù)的組件 regex代表這個(gè)是正則表達(dá)式的庫(kù) VC90代表它是什么編譯器版本 mt代表它支持多線程/ Multithreads gd代表這是debug版本 (測(cè)試) 1_46_1代表了Boost的版本號(hào) 為了符合我們通常SDK的習(xí)慣,我們把E:Program Filesboost_1_46_1下面的boost目錄全部拷貝到include目錄下面。如圖: 現(xiàn)在我們的所有頭文件都在include文件夾下面了,保留boost文件夾只是為了符合boost的習(xí)慣;所有的lib和dll都位于lib文件夾下面。 但是整個(gè)過(guò)程還沒(méi)有結(jié)束,我們還需要配置IDE。打開(kāi)Visual Studio 2008 SP1(其它VC開(kāi)發(fā)平臺(tái)也類(lèi)似),選擇“工具”,再選擇“選項(xiàng)”,然后在“項(xiàng)目和解決方案”下面選擇vc++目錄,在“包含目錄”下面添加Boost的include路徑: 然后在系統(tǒng)環(huán)境變量下添加庫(kù)和頭文件。 四.安裝Qt 由于我的Qt是官網(wǎng)下直接下的二進(jìn)制文件,所以安裝玩了之后。注意向上圖一樣添加他的頭文件即可:即添加環(huán)境變量:E:Qt4.7.1bin E:Qt4.7.1include E:Qt4.7.1lib 五、配置編譯器(VS2008) 庫(kù)文件先寫(xiě)上以下的路徑,到時(shí)候怕忘了 頭文件也如下: ![]() 六、配置事例程序需要的的第三方庫(kù)QGLViewer 去官網(wǎng)上下載QGLViewer(網(wǎng)址http://www.libqglviewer.com/installWindows.html)下載編譯版本,從源文件開(kāi)始進(jìn)行編譯。(下載的二進(jìn)制文件,會(huì)在后面丟失庫(kù),推薦自己編譯二進(jìn)制文件庫(kù),反正也不大啦)。 下載Qt的vs2008的編譯助手,網(wǎng)站http://qt.nokia.com/downloads-cn,網(wǎng)址的最右下角落,然后安裝他。 解壓代碼QGLViewer的源文件,然后你會(huì)看到QGLViewer/QGLViewer.pro,用vs2008的Qt助手打開(kāi)這個(gè)文件(跟CMAKE同樣的功能),然后出先很多個(gè)工程,只要編譯出QGLViewer既可以。 在vs2008下編譯Debug和Release版本。然后找出這些文件按下圖放置:庫(kù)文件 ![]() 將e:ibQDLViewerSDK和e:ibQDLViewerSDKlib,添加到環(huán)境變量path中。 七、安裝Cmake進(jìn)行編譯cgal 首先安裝cmake,全部默認(rèn)設(shè)置,直到安裝完成。 然后CGAL-3.8-Setup.exe安裝運(yùn)行,選好你的安裝目錄即可,別的不用去管,注意這里需要網(wǎng)絡(luò)的支持,讓他下載其他第三方庫(kù),例如我安裝文件夾:E:Program FilesCGAL-3.8。 確認(rèn)你的環(huán)境變量是否包含了如下的目錄(或者類(lèi)似功能的目錄),當(dāng)然不是得完全一致啦,本文說(shuō)了什么庫(kù),那就有什么庫(kù)。。。 %SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Program FilesCommon FilesThunder NetworkKanKanCodecs;C:Program FilesATI TechnologiesATI.ACECore-Static;E:Qt4.7.1bin;e:Program FilesCMake 2.8bin;E:boostSDKincludeboost;E:boostSDKlib;E:Program FilesCGAL-3.8include;E:Program FilesCGAL-3.8auxiliarygmpinclude;E:Program FileslibQGLViewerQGLViewer;E:libQGLViewerSDKlib;E:libQGLViewerSDK;E:Qt4.7.1lib;C:Program FilesMicrosoft SDKsWindowsv6.0A;E:Program FilesCGAL-3.8lib;e:Program FilesCGAL-3.8auxiliarygmplib 點(diǎn)擊桌面上cmake的圖標(biāo),在最上方的地址欄下輸入你的cgal的安裝目錄,E:Program FilesCGAL3.8和輸出目錄E:Program FilesCGAL3.8 ![]() 接著,我們修改里面的參數(shù),如下: ![]() 注意: 1、如果你安裝了Cygwin,configure將失敗,編輯GMP_INCLUDE_DIR和MPFR_INCLUDE_DIR為C:/CGAL/CGAL-3.5/auxiliary/gmp/include 2、編輯CMAKE_BUILD_TYPE為Debug 3、如果你希望安裝演示實(shí)例,請(qǐng)選擇WITH_demos與WITH_examples(其實(shí)沒(méi)有必要安裝,可以用的時(shí)候再編譯) 4、你需要增加變量Boost_INCLUDE_DIR, 并且編輯變量Boost_THREAD_LIBRARY_DEBUG (libboost_thread-vc90-mt-gd-1_46_1.lib) 以及變量Boost_THREAD_LIBRARY_RELEASE (libboost_thread-vc90-mt-1_46_1.lib) 5)、點(diǎn)擊Configure,知道Generate能夠操作之后,點(diǎn)擊Generate 6)、在C:CGALCGAL-3.5中將會(huì)產(chǎn)生一個(gè)解決方法,用Visual Studio打開(kāi) 7)、關(guān)閉CMAKE 8)、選擇 Build->Clean Solution,選擇 Build->Rebuild Solution。安裝完成。 八、安裝編譯事例程序編譯他的事例代碼時(shí)候,二維顯示用的是QT的圖像框架,三維瀏覽是用了QT的第三方庫(kù)QGLViewer,所以編譯代碼時(shí),有可能還需要在選項(xiàng)中加上 最后。事例中在Cmake中是debug版本,那么vs2008中也只能debug版本編譯,不能用發(fā)行版本編寫(xiě),是release版本,也只能用release版本。 ![]() 最后我運(yùn)行的一個(gè)事例: ![]() ![]() 最后,如果不按照上面說(shuō)的匹配上(發(fā)布版本對(duì)發(fā)布版本,測(cè)試版本對(duì)測(cè)試版本),那么將在命令行出現(xiàn): "QWidget: Must construct a QApplication before a QPaintDevice". 的問(wèn)題 |
聯(lián)系客服