1. 程式人生 > >Building OpenCascade on Windows with Visual Studio

Building OpenCascade on Windows with Visual Studio

Building OpenCascade on Windows with Visual Studio

摘要Abstract:詳細說明OpenCascade的編譯配置過程,希望對你編譯OpenCascacde有所幫助。本文內容來自OCCTOverview文件,詳細資訊可參考之。

關鍵字Key WordsOpenCascadeCompiling

一、原始碼包 Source package

OpenCascade的原始碼包中包括OpenCascade的原始碼、示例程式原始碼及預先編譯好的二進位制程式。編譯工具也提供了,在Windows平臺上是Visual C++的工程檔案,在

Unix平臺上是Makefile

二、目錄檔案說明 Description of the Directory Tree

  l ros/adm/cmake:包含CMake的建立過程;

  l ros/adm/lin/amk:包含Automake建立過程;

  l ros/adm/mac/cbp:包含Code::Blocks工程;

  l Ros/adm/mac/xcd:包含Xcode工程;

  l Ros/adm/msvc:包含Visual Studio工程,支援的Visual Studio版本有Visual C++ 2005200820102012,可以在Windows平臺上編譯32位和64位的  OpenCascade

  l Ros/data:包含各種檔案格式的資料,可以在OCCT中試驗用;

  l Ros/doc/Overview:包含簡要介紹OCCT的文件;

  l Ros/doc/ReferenceDocumentation:包含由Doxygen生成的OCCT參考文件;

  l Ros/drv:包含由WOK生成的原始碼檔案;

  l Ros/inc:包含所有OCCT的標頭檔案;

  l Ros/src:包含OCCT的原始碼,它們以資料夾的方式組織,一個開發單元一個資料夾;

  l Ros/samples:包含OCCT的示例程式及其原始碼。(C#MFC的示例只適用於Windows平臺。);

  l 

Ros/tests:包含OCCT的測試指令碼;

三、先決條件 Common pre-requisites

OpenCascade Technology使用經支援的編譯器認證的STL實現。儘管原始碼也可以在其他實現上重新編譯(如STLPort),但是OpenCascade S.A.S對其穩定性不作任何保證。

重新編譯OpenCascade Technology需要2GB的可用硬碟空間;

編譯之前,你需要重新編譯或安裝第三方庫(必須的第三方庫是:tcl/tk8.5.8freetype2.4.10;可選的第三方庫是:gl2ps1.3.5freeimage3.14.1tbb。);

四、編譯設定 Building on Windows with Visual Studio project files

在編譯之前,必須設定第三方庫的標頭檔案和庫檔案的路徑。第三方庫有TclTkFreeTypeFreeImagegl2psTBB。可以在Visual Studio的工具->選項中的目錄來設定,也可以配置批處理檔案custom.bat來設定。最好是通過批處理檔案custom.bat來設定。

gl2psTBBFreeImage是可選的第三方庫。通過變數CSF_DEFINES來指定是否在編譯OpenCascade中使用他們。

HAVE_TBB:若想在OCCT中使用IntelTBB(記憶體管理);

HAVE_FREEIMAGE:若想在OCCT中使用FreeImage

HAVE_GL2PS:若想在OCCT中使用gl2ps

不使用上述的三個庫的custom.bat檔案內容如下所示:

set HAVE_FREEIMAGE=false

set HAVE_GL2PS=false

set HAVE_TBB=false

這樣定義在env.bat中產生在字串的設定效果為: set CSF_DEFINES=

使用上述三個庫的custom.bat設定如下所示:

set HAVE_FREEIMAGE=true

set HAVE_GL2PS=true

set HAVE_TBB=true

這樣定義在env.bat中產生的字串的設定效果為:

set CSF_DEFINES=HAVE_TBB;HAVE_FREEIMAGE;HAVE_GL2PS

配置好custom.bat後,就可以用ros子資料夾中的msvc.bat來啟動MS Visual Studio了,這樣編譯OCCT的環境變數已經設定好了。啟動msvc.bat可以帶可選引數:

引數1:啟動的Visual Studio的版本(vc8, vc9, vc10, vc11);

引數2:系統架構(win32, win64);

引數3:編譯模式(Debug, Release);

引數4Visual Studio解決方案路徑;

Windows平臺上編譯生成的庫(dll, dlld, lib, libd)和可執行程式(exe)分別在資料夾ros/win32/vc8, vc9, vc10, vc11,或64位的在ros/win64資料夾中。

資料夾ros/adm/msvc中包含vc8, vc9, vc10, vc11Visual Studio工程檔案,可用來分別生成32位和64位的OCCT

下列所示的workspaces必須按順序編譯:

1. Foundation Classes (file FoundationClasses.sln)

2. Modeling Data(file ModelingData.sln)

3. Modeling Algorithms(file ModelingAlgorithms.sln)

4. Visualization(file Visualization.sln)

5. Application Framework(file ApplicationFramework.sln)

6. Data Exchange(file DataExchange.sln)

7. Draw(file Draw.sln)

另外,包含所有工程檔案的解決方案檔案OCCT.sln也提供了,可以用OCCT.sln來編譯一個完整的OCCT庫。即直接執行:

msvc.bat vc11 win64 Debug