Building OpenCascade on Windows with Visual Studio
摘要Abstract:詳細說明OpenCascade的編譯配置過程,希望對你編譯OpenCascacde有所幫助。本文內容來自OCCT的Overview文檔,詳細信息可參考之。
關鍵字Key Words:OpenCascade、Compiling
一、源碼包 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++ 2005,2008,2010,2012,可以在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
l OpenCascade Technology使用經支持的編譯器認證的STL實現。盡管源碼也可以在其他實現上重新編譯(如STLPort),但是OpenCascade S.A.S對其穩定性不作任何保證。
l 重新編譯OpenCascade Technology需要2GB的可用硬盤空間;
l 編譯之前,你需要重新編譯或安裝第三方庫(必須的第三方庫是:tcl/tk8.5.8,freetype2.4.10;可選的第三方庫是:gl2ps1.3.5,freeimage3.14.1,tbb。);
四、編譯設置 Building on Windows with Visual Studio project files
在編譯之前,必須設置第三方庫的頭文件和庫文件的路徑。第三方庫有TclTk,FreeType,FreeImage,gl2ps和TBB。可以在Visual Studio的工具->選項中的目錄來設置,也可以配置批處理文件custom.bat來設置。最好是通過批處理文件custom.bat來設置。
gl2ps,TBB和FreeImage是可選的第三方庫。通過變量CSF_DEFINES來指定是否在編譯OpenCascade中使用他們。
l HAVE_TBB:若想在OCCT中使用Intel的TBB(內存管理);
l HAVE_FREEIMAGE:若想在OCCT中使用FreeImage;
l HAVE_GL2PS:若想在OCCT中使用gl2ps;
不使用上述的三個庫的custom.bat文件內容如下所示:
n set HAVE_FREEIMAGE=false
n set HAVE_GL2PS=false
n set HAVE_TBB=false
這樣定義在env.bat中產生在字符串的設置效果為: set CSF_DEFINES=。
使用上述三個庫的custom.bat設置如下所示:
n set HAVE_FREEIMAGE=true
n set HAVE_GL2PS=true
n 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可以帶可選參數:
l 參數1:啟動的Visual Studio的版本(vc8, vc9, vc10, vc11);
l 參數2:系統架構(win32, win64);
l 參數3:編譯模式(Debug, Release);
l 參數4:Visual Studio解決方案路徑;
在Windows平台上編譯生成的庫(dll, dlld, lib, libd)和可執行程序(exe)分別在文件夾ros/win32/vc8, vc9, vc10, vc11,或64位的在ros/win64文件夾中。
文件夾ros/adm/msvc中包含vc8, vc9, vc10, vc11的Visual 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