終於把UNIX下的GTS移植到WINDOWS下面~難啊

來源:互聯網
上載者:User
最近一致在尋找一個很好的幾何實體布爾操作的庫,找到了小巧精緻但特別功能要收費的的sgCore,強大的不知道怎麼使用的openCASCADE,GNU開源UNIX系統的GNU Triangulated Surface Library(GTS),還聽聞一些收費的HOOPS等。

最開始,sgCore非常讓我滿意,精巧的結構,很便於使用的編程風格,強大的功能,小巧的身材~~~可是,當需要用到將三角形模型轉換成實體模型的時候,就要收費了。最低收費標準400美元,我的天啊,搶人~~~

最終還是放棄了這個美麗的“陷阱”。

openCASCADE庫,借用論壇上坐沙發流行的一句話:很好,很強大!無與倫比的功能,包括CAD/CAM的方方面面,從二維樣條曲線,到三維的實體操作,樣樣俱全,可是,太大了~~~600多M的安裝包,加上200M的文檔,來源程式還是*.cxx的。強大到根本搞不清楚怎麼入手,最終放棄了~~~~~~

最後的希望來自於GNU的GTS,小巧,免費,精緻,強大。唯獨一個缺點是目前只有UNIX版本的,雖然寫了可以在WIN32下面編譯,但是其MAKEFILE還是VC6時代的,還需要3個依賴包。而這兩個做好的WIN32下的依賴包還是VC6編譯的,即便在VC++2005下面吧GTS編譯成功了,也用不起。因為這兩個DLL用的是MSVCRT.DLL,而VC++2005編譯的GTS庫用的MSVCRT80.DLL,會導致不相容。

查閱了大量的資料,發現解決方案有如下:

1、使用cygwin編譯。缺點很顯然,我寫程式也得在cygwin下面去編譯,顯然有些不太方便。而且編譯出來的DLL還不好用。

2、用VC++2005全部重新編譯所有的依賴包。

3、放棄~~~~

 

最終選擇了2。拚死活命也要將GTS編譯出來。

第一個難題就是glib的編譯問題。因為GTS需要用到glib,所以就到網上尋glib的win32版本。竟然,還是只有那個VC6的版本。還好,glib最新的原始碼中已經包含了VC++2005的makefile了。還需要找gettext和libiconv的WIN32版本。

經過查詢,找到gettext 0.14.4,據說可以編譯成功。試了N久,發現少了relocate.h這個標頭檔,即使弄上去了編譯也出問題。又是google,找到一個人的問題和我一樣,解決方案是用0.14.6版本編譯。果然通過了。幸福~~~

編譯libiconv也遇到了一些莫名其妙的問題,都是一些什麼玩意兒沒有定義啊,什麼宏沒有定義這些,很煩人。glib也是一些win32下老的makefile需要更新。……

4天時間都在搞這些玩意兒,徹底記不清楚具體是怎麼把他搞成功的了。最後做了一個安裝包,只需執行一個批處理,傻瓜化的就完成了編譯安裝。~~~

PS:準備又要開始研究SMS相關的東西了~~哎,一天忙啊

 

下載:http://www.hesicong.net/pjblog/article.asp?id=271

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.