本文主要是介绍编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在编译好了mini工程之后,我们接着编译meshlab_full.pro,但是由于该项目的工程文件太多,我们需要批量操作~
第一个common
不选,选中第二个工程文件,按住Shift
按键,拖动到最后的工程文件,右键选择属性,这样我们就可以批量改变属性了!~
注意不要将<不同选项>
删除了~
编译filter_csg
编译完了之后,发现又出现了错误,前面的无法打开文件common.lib先不用管~
定位到错误3445,这个错误是说缺少mpirxx.lib
,确实,在指定的路径下确实没有改文件;这个错误对应的工程文件是filter_csg
,打开附加依赖项:
红色方框中的lib文件确实是不存在的,我们需要去下载:mpirxx,我下载的是2.2.1版本;
下载完后,解压发现我们还需要自己去编译(真蛋疼~);这里我直接共享给大家我编译出来的lib文件百度云链接,如果你喜欢自己编译的话,也可以自己查找资料去编译~
然后将这两个lib放到..\external\lib\win32-msvc2010
路径下,当然你也可以自定义,只要记得将lib的路径配置到就行~
重新编译,又出现新的错误:
右键选择属性—》链接器—》命令行,在其他选项中输入/FORCE:MULTIPLE
;这个是网上找的,大家想要知道原理,自行百度~
接下来编译就成功了!~
编译io_3ds
接下来看下一个错误4105后面的错误和这个错误都是一个原因,就是lib3ds
这个库是有问题滴~
定位到meshlab\src\external\lib3ds-1.3.0\lib3ds\type.h
文件,打开该文件,输入define LIB3DS_EXPORTS
然后重新打开external.pro
文件,重新编译3ds
项目:
然后将生成的lib库添加到io_3ds
项目中
重新编译io_3ds
项目就OK了!~
解决了两个主要的错误,下面我们再来看上面的无法打开common.lib
,事实上该lib文件是存在的~
出现这10个错误的工程文件分别是:
- edit_arc3D
- edit_manipulators
- edit_referencing
- filter_createiso
- filter_geodesic
- io_m
- io_txt
- sampleedit
- samplefilter
- samplefilterdyn
但是当我们每一个工程文件单独生成的时候都是不会出现该错误的~!暂时不知道为什么,但是程序已经全部编译成功了!~
效果
相比于mini版本多了很多的工具!~
番外
上一篇文章编译MeshLab(3)—编译MeshLab源码之编译meshlab_mini.pro的最后我有说到一个bug,尽管编译都成功了,但是还是不能运行程序:
这个问题的根本原因是当时我的电脑没有安装显卡驱动~如果你的电脑也没有安装出现了这个问题,那么安装个显卡驱动就好了(我灵光一闪想到的)~
这篇关于编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!