温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何把UNIX下的GTS移植到WINDOWS下面

发布时间:2021-07-01 10:11:26 来源:亿速云 阅读:148 作者:chen 栏目:大数据

这篇文章主要介绍“如何把UNIX下的GTS移植到WINDOWS下面”,在日常操作中,相信很多人在如何把UNIX下的GTS移植到WINDOWS下面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何把UNIX下的GTS移植到WINDOWS下面”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

最近一致在寻找一个很好的几何实体布尔操作的库,找到了小巧精致但特别功能要收费的的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,会导致不兼容。

查阅了大量的资料,发现解决方法有如下:

  • 使用cygwin编译。缺点很显然,我写程序也得在cygwin下面去编译,显然有些不太方便。而且编译出来的DLL还不好用。

  • 用VC++2005全部重新编译所有的依赖包。

  • 放弃……~

最终选择了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/Store/gts_win32_build_vc8.rar

包含所有源代码,在VS2005的命令提示里面直接执行build_all.bat即可编译安装成功,很费功夫的哦:

http://www.hesicong.net/Store/gts_win32_src.rar

到此,关于“如何把UNIX下的GTS移植到WINDOWS下面”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI