关闭

meshlab1.3.3 + QT5.7 编译

标签: meshlab
1684人阅读 评论(4) 收藏 举报
分类:

1 编译环境

  • visual studio 2013
  • qt-opensource-windows-x86-msvc2013_64-5.7.0
  • qt-vs-addin-1.2.5

2 源代码

(1)下载源代码

meshlab v1.3.3下载地址:https://sourceforge.net/projects/meshlab/files/meshlab/MeshLab%20v1.3.3/
这里写图片描述

(2)解压过程(全部选否)

源代码下载完毕之后,将其解压到指定的目录中(我直接放在了E盘tmp文件夹中),但是在解压时不要替换文件,而是“全部选否”,如下图
这里写图片描述
在指定的目录中,解压之后会出现两个文件夹,如下所示:
这里写图片描述

3 编译external库

(1) 修改文件

首先打开E:\tmp\MeshLabSrc_AllInc_v133\meshlab\src\external\lib3ds-1.3.0\lib3ds\types.h
加入一行:#define LIB3DS_EXPORTS
如下图所示:
这里写图片描述
其次打开E:\tmp\MeshLabSrc_AllInc_v133\meshlab\src\external\OpenCTM-1.0.3\lib\openctm.h
加入一行:#define OPENCTM_BUILD
如下图所示:
这里写图片描述
最后打开E:\tmp\MeshLabSrc_AllInc_v133\meshlab\src\external\muparser_v130\src\muParserBytecode.cpp
加入头文件 #include < algorithm>
如下图所示:
这里写图片描述

(2) 正式编译

用qtcreator打开external.pro,应该能直接生成所有的lib

3 编译meshlab_mini项目

首先用qtcreator打开meshlab_mini.pro,然后修改相应的工程文件,修改的总体思路就是让其支持vs2013进行编译,具体的一些修改和编译如下:

(1) common

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述
修改完毕之后,先单独生成common项目,应该是没有其他问题的。

(2) filter_meshing

先修改filter_meshing.pro文件,修改如下:
这里写图片描述

然后修改其包含的shared.pri文件,修改如下:
这里写图片描述

这里写图片描述

这里写图片描述

这两步修改完毕之后,单独编译filter_meshing,应该是没有其他问题的。

(3) io_base

修改io_base.pro文件,修改如下:
这里写图片描述
修改完毕之后,单独生成io_base项目,应该是没有其他问题的。

(4) meshlab

修改meshlab.pro文件,修改如下:
这里写图片描述

这里写图片描述

修改完之后,我们还要将external中生成的jhead.lib文件拷贝到E:\tmp\MeshLabSrc_AllInc_v133\meshlab\build-meshlab_mini-Desktop_Qt_5_7_0_MSVC2013_64bit-Debug\distrib,对应找到自己的二进制文件生成文件夹就ok了。
然后就可以生成meshlab_mini项目了,也可以在distrib文件夹下看见可执行文件了,这时候我们将项目依赖的qt的dll文件拷贝到此文件夹下就可以直接打开meshlab.exe文件了。拷贝的dll如下:
这里写图片描述
程序运行如下:
这里写图片描述

4 编译插件

在meshlab_mini.pro中我们可以看见一段话:
这里写图片描述
就是说我们在编译成功之后,将注释去掉,可以根据自己的需求来编译相应的插件来强化meshlab的功能。我们首先来编译meshlabserver,这个插件可以让meshlab以命令行的方式运行,配合脚本功能很强大,后续的文章中会继续介绍。要编译这个插件,首先要对其.pro文件进行修改,具体的修改如下:
这里写图片描述
单独编译这个插件,应该是没有其他问题的。
到这里,大家应该能明白了,在meshlab的编译过程中,我们要修改的工程文件大致是相同的,都是将其扩展到win32-msvc2013,引入相应的库文件就可以成功进行编译了。

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:70425次
    • 积分:1249
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:12篇
    • 译文:1篇
    • 评论:16条
    博客专栏
    文章存档