Win7-64bts-VS2012-CGAL4.7 安裝

Win7-64bits-VS2012 安裝 32bit CGAL4.7,記錄如下:


準備工作

版本選擇:VS2012只有32bit版的安裝包
QT5.5.0 在 windows VS2012 下只有 32bit 安裝包。這裏由於 CGAL 需要展示 demo,就將所有依賴項都選擇對應的 32bit。
需要說明的是調用的庫的位數需要與程序位數保持一致:
- Use 32bit shared library from 64bit application?
- Linking 32-bit library to 64-bit program

相關組件版本如下:
- CGAL 4.7
- Visual Studio 2012 Professional
- Boost 1.58.0
- CMake 3.2.3
- QT 5.5.0 download confusion
- QT Visual Studio addin 1.2.2
另外一個需要注意的是:
- VS2012 與 QT VS addin 1.2.4 兼容性並不好,一打開就會提示插件啓動失敗,因此選擇1.2.2版本的QT插件。
- CGAL 在安裝過程中需要聯網,並且Boost編譯時需要較大的空間( 3G),需要注意留出相應磁盤空間。

安裝

VS2012的安裝就不再贅述,總體安裝流程如下。

Boost

通過編譯源碼來生成相關 lib:

  • 打開命令行 cmd
  • 運行: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
    配置當前(cmd)適用於生成 x86,x64 或 arm 平臺代碼的環境。 如果未提供任何參數,vcvarsall.bat 將配置環境變量以面向 x86 平臺,具體說明參見這裏
  • 也可以直接在快捷菜單欄上找到:
    win->Microsoft Visual Studio 2012->Visual Studio Tools->xxx Native Tools Command Prompt直接進入到配置好了的 cmd 環境。
  • 將下載的boost壓縮文件解壓縮並跳轉到解壓縮目錄下。
  • 運行: .\booststrap
  • 設置安裝路徑,stage 路徑,指定生成靜態\共享,單\多線程鏈接庫文件:
    .\b2 stage toolset=msvc-11.0 --stagedir=<YOUR STAGE DIR> --build-dir=<YOUR BUILD DIR> address-model=32 link=static,shared threading=single,multi variant=debug,release
    多個編譯器或多個版本編譯器通過 toolset 來指定,具體參數意義可以.\b2 --help查閱,在這篇博文裏也有很好的解釋。
  • 在目錄 <YOUR STAGE DIR> 中的就是編譯的庫文件 .lib, .dll。

CMake

安裝包安裝,需要注意的是勾選“Add CMake to system PATH for all users“。如果提示PATH爲空或者檢查PATH變量發現沒有CMake目錄,就需要手動添加目錄到系統變量PATH中。

QT

安裝包安裝。同樣的,如果沒有就需要手動添加環境變量 QTDIR: C:\Qt\Qt5.5.0 和 PATH 中添加 C:\Qt\Qt5.5.0\bin。

QT addin

安裝包安裝。

CGAL

安裝包安裝,需要注意的是:

  • CGAL 需要聯網下載組件 GMP 和 MPFR。
  • 保持默認:with GMP and MPFR, with examples and demos。
  • 選擇32-bits platform for precompiled libraries。
  • 選擇爲所有用戶添加環境變量,並且勾選 CGAL_DIR 和 添加 CGAL/auxiliary/gmp/lib to the PATH。
  • 檢查環境變量,如果上述變量不存在就需要手工添加。現在下一步就是需要編譯CGAL
  • 打開CMake軟件。
  • 對源文件和生成可執行文件目錄都選擇CGAL安裝目錄(C:/Program Files/CGAL-4.7)。
  • 點擊Configure。
  • 選擇generator:找到本機32位 project file generator:Visual Studio 11 2012。如果選擇win64,CMake生成的工程配置文件中會在命令行選項中添加 /machine:X64 導致模塊計算機類型“x64”與目標計算機類型“X86”衝突”問題。
  • 點擊Generate
  • 在安裝目錄裏就生成了一個名爲 CGAL 的解決方案,其中包含各個子工程。
  • 對ALL_BUILD工程在debug和release模式下生成。
  • 在安裝目錄的 lib 文件夾中就可以看到生成的庫文件。
  • 添加相應的系統環境變量 CGAL_DIR,path 中添加庫文件目錄。

運行

  • 打開CMake
  • 源代碼和目標目錄都選擇一個demo文件夾,例如C:\Program Files\CGAL-4.7/demo/Triangulation_2。
  • Configure, generate。
  • 打開生成的解決方案 .sln 文件並編譯。
    triangulation-demo

其他說明

  • ALL_BUILD project :
    In the Visual Studio solution, the ALL_BUILD project is the default “Startup project”. You can change it by right-clicking the appropriate project in the Solution Explorer and choosing “Set as startup project”.
    來自這裏
    在CGAL.sln中的目標文件是庫文件因此不需要更改啓動項目(startup project),Triangulation_2.sln是需要生成可執行的QT界面因此需要更改啓動項目,以此避免按F5進行運行調試整個solution的時候就會提示啓動項目Debug\ALL_BUILD無法啓動的錯誤。
  • 如果不需要運行CGAL的demo,就不需要qt的支持,編譯運行example裏的控臺程序也可以。其實demo就是通過qt進行前端可視化展示。CGAL4.7 之前的版本的demo是不支持QT5及以上版本的,因此選擇4.7就必須選擇Qt5以上版本。對應的4.7以下版本就需要QT5以下版本。
  • 幾個相關的小工具:Dependency Walker 2.2DLL動態庫檢測工具 32位64位檢測工具How to find if a native DLL file is compiled as x64 or x86?
    DUMPBIN.EXE 需要注意的是:
    You can start this tool only from the Visual Studio command prompt. You cannot start it from a system command prompt or from File Explorer.
    上面說的問題實際上就是在運行DUMPBIN之前需要設置好搜索目錄,如果直接WIN+R CMD進入VC\BIN目錄運行DUMPBIN就會提示“丟失mspdb110.dll”。
    而如果從VS編譯器界面工具欄的tools->visual studio command prompt進入就沒有這個錯誤,因爲所謂的visual studio command prompt其實就是已經設定好搜索目錄的cmd,在工具欄tools->外部工具,選擇“visual studio 命令”提示就可以看到:
    /K "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
    就是在cmd之前運行了vcvars.bat改變了當前環境變量。
    我們也可以從“win->所有程序->Microsoft Visual Studio 2012->Visual Studio Tools->兼容工具/本機工具/開發人員命令提示“中運行DUMPBIN,這些命令行工具其實都是cmd快捷方式,只是運行之前他們的設置參數都不一樣,在這些命令提示工具上右鍵屬性->快捷方式->目標欄中就可以看到他們的參數區別。

以上備忘。

參考:
Download CGAL for Windows
Installing CGAL and related programs on Windows operating system
Boost Simplified Build From Source

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章