编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sx341125/article/details/53572480

在编译好了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个错误的工程文件分别是:

  1. edit_arc3D
  2. edit_manipulators
  3. edit_referencing
  4. filter_createiso
  5. filter_geodesic
  6. io_m
  7. io_txt
  8. sampleedit
  9. samplefilter
  10. samplefilterdyn

但是当我们每一个工程文件单独生成的时候都是不会出现该错误的~!暂时不知道为什么,但是程序已经全部编译成功了!~


效果

相比于mini版本多了很多的工具!~

这里写图片描述


番外

上一篇文章编译MeshLab(3)—编译MeshLab源码之编译meshlab_mini.pro的最后我有说到一个bug,尽管编译都成功了,但是还是不能运行程序:

这里写图片描述

这个问题的根本原因是当时我的电脑没有安装显卡驱动~如果你的电脑也没有安装出现了这个问题,那么安装个显卡驱动就好了(我灵光一闪想到的)~

猜你喜欢

转载自blog.csdn.net/sx341125/article/details/53572480