標籤:style blog http color io 使用 ar for strong
當你熟悉OpenCASCADE軟體在Windows,你應該試試在Debian的Linux作業系統,因為這是一個開源的樣OpenCASCADE軟體。論文的重點是如何建立OpenCASCADE軟體包。
OpenCASCADE軟體、Linux、Debian、建築
1. Introduction
因為OpenCASCADE是用C++寫的幾何造型演算法庫,有良好的跨平台性,所以決定在Linux上來編譯試試看。由OpenCASCADE的文檔可知,在Linux上OCC選擇了Debian作為常規測試的系統,所以也安裝了一個Debian 64bit的系統。
Figure 1.1 Debian 64bit is a platform used for regular testing of contributions
DebianGNU/Linux是由一個叫IanMurdock的牛人在1993年發起的,他的名字以Ian開頭,他太太的名字Debra開頭三個字母是Deb,於是在愛情的力量下,他發起了DebianGNU/Linux組織。Debian的正式發音為/?d?.bi.?n/,對應的中文發音可以是待賓。
使用了Debian後,感覺到開源的庫真是多啊!選擇Debian你將不會感到孤單,有相當廣泛的機構及個人都在使用Debian。Debian擁有驚人數量的軟體包,每一樣都是自由的。且安裝與更新都很方便,只需要使用命令:apt-get update和apt-get install 等就可以自動更新及安裝軟體。
Figure 1.2 debian the universal operating system
安裝Debian系統的電腦是幾年前的一台筆記本,配置有些老了。開啟Debian的System Monitor可以查看Debian的系統資訊,如所示:
Figure 1.3 Debian System Info
2.Preliminary
安裝好了Debian,下載了OpenCASCADE的源碼後,要編譯OpenCASCADE還需要做些準備工作:
v 配置C++編程環境:apt-get install build-essential
v 配置C++編譯環境:apt-get install automake autoconf
v 配置OpenGL庫:apt-get install freeglut3-dev
剛開始安裝AutoTools還遇到問題,最後查出是源的問題,把源改成Debian預設的USA源後,即可以自動安裝AutoTools了。原來用的163的鏡像上不能安裝AutoTools。
編譯OpenCASCADE需要用到OpenGL的庫,編譯之前的configure會檢查是否正確設定GL庫。如果沒有正確安裝OpenGL庫,有幾個模組是不能正確編譯的。先要安裝好顯卡的驅動程式,再安裝freeglut庫即可解決問題。
3.Building 3rd-party libraries
OpenCASCADE的第三方庫分成兩類:
v 必須的庫:Tcl/Tk 8.5-8.6, FreeType-2.4.10-2.4.11;
v 可選的庫:TBB 3.x-4.x, gl2ps 1.3.5-1.3.8, FreeImage 3.14.1-3.15.4;
所有這些第三方庫都可以從Debian的官方源中下載安裝,只需要執行如下命令即可:
sudo apt-get install \
tcllib tklib tcl-dev tk-dev \
libfreetype-dev \
libxt-dev libxmu-dev \
libgl1-mesa-dev \
libfreeimage-dev \
libtbb-dev \
libgl2ps-dev
如果有些庫找不到,可以嘗試下換個源。原來設定的163的源有些庫就找不到,更換成USA或其他國家的源就可以了,速度也還不錯。
當然這些庫也可以自己編譯,推薦自己編譯下,熟悉下Automake工具的使用。
4.Building OpenCASCADE with Automake
完成上述準備工作後,就可以編譯OpenCASCADE了。編譯步驟如下所示:
v 運行在OCCT目錄中的build_configure指令碼來產生與系統相適應的Makefile.in和configure;
v 運行在OCCT目錄中的configure來產生makefiles;命令如下:
$CASROOT/configure<FLAGS>
其中<FLAGS>是一些編譯選項,用來配置第三方庫與Draw等,配置參數如下所示:
Figure 4.1 Configure options for OpenCASCADE
樣本configure命令如下:
Figure 4.2 configure example
Figure 4.3 configure successed status without optional 3rdparty products
如所示,當Component對應的Build都為yes表明configure成功了。
v 如果configure成功後,即可使用make命令來編譯了,命令如下:
make -j8 install
v 編譯成功後,即可運行draw.sh來測試OpenCASCADE了。
運行《OpenCASCADE Performance Test》中的Tcl指令碼得到的效果如所示。模型及Tcl指令碼都可以從下面獲得:
http://www.cppblog.com/eryar/archive/2014/09/25/208421.html
由於筆記本的配置比較老了,運行起來速度沒有新的機器快。同樣數量的F1賽車模型的網格化及顯示速度都要慢很多,而且幀頻也明顯要慢很多。
終於在Debian中把OpenCASCADE編譯成功了,下一步就是使用OpenCASCADE在Debian中編程。
今天是國慶節,呆在家中擺弄這些代碼也是比較愜意,免去了出去玩的People Mountain People Sea的擁擠。
Figure 4.4 Draw Test Hanress in Debian
Figure 4.5 Draw Test Harness in Debian
5. Conclusion
在Debian上成功編譯OpenCASCADE後,為程式的開發開啟一扇自由之門,在更Open的環境中開發程式,就不再受什麼限制了,這點感覺比用Windows要好。
OpenCASCADE在Debian上編譯主要使用了Autotools,所以需要正確安裝Autotools及熟悉其使用方法。這點上感覺沒有用習慣了的Visual Studio方便,新的工具只有慢慢適應。
設定合適的Debian更新源也很重要,剛開始我根據網上所說的選擇了國內的鏡像,導致一些工具不能自動安裝,更換成USA的就可以了。
OpenCASCADE軟體包