meshlab1.3.3 + QT5.7 编译

原创 2016年08月31日 11:26:41

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,引入相应的库文件就可以成功进行编译了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

meshlab源代码编译(一)_vs2013

meshlab配置

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

编译meshlab_full.pro文件还是同样的操作,但是由于该项目的工程文件太多,我们需要批量操作~第一个common不选,选中第二个工程文件,按住Shift按键,拖动到最后的工程文件,右键选择属...

MeshLab配置和编译

MeshLab配置和编译 MeshLab(http://sourceforge.net/p/meshlab)是一个用QT开发的、开源的、功能比较强大的可扩展的网格处理系统,致力于辅助清理、适配、编辑...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

编译MeshLab(3)—VS2010编译MeshLab源码之编译meshlab_mini.pro

有了前面的基础 编译MeshLab(1)—软件安装与代码下载 编译MeshLab(2)—VS中引用Lib文件 下面我们开始编译源码!编译external编译的第一步是将外部相关的库文件进行编译: ...

MeshLab源码编译 vs2010+win7 64bit

为了能够方便的使用meshlab的源码,今天特意编辑了一下mesh源码 1.源码bian
  • yannwpu
  • yannwpu
  • 2014年04月14日 15:58
  • 7999

MeshLab 编译

准备工作 安装VS2015 安装Qt 5.8, 并安装 QT VS TOOLS 用 Git 从 MeshLab 克隆MeshLab项目 用 Git 从 vcglib vcg 库 注意, 3,4 两步的...

win10+vs2015 meshlab编译

meshlab是一款很不错的点云处理开源软件,里面有很多地方值得我们借鉴学习,刚好最近重新换了系统就把meshlab重新编译了一遍,顺便记录下来,希望对大家编译有用。 meshlab的界面框架用的是...

MeshLab配置和编译

MeshLab配置和编译 MeshLab(http://sourceforge.net/p/meshlab)是一个用QT开发的、开源的、功能比较强大的可扩展的网格处理系统,致力于辅助清理、适配、编辑...

Meshlab VS 编译

Meshlab和VCGlib都是意大利国立研究院的作品,meshlab提供了大量的模型分析与处理的算法,而VCGlib建立了基础的数据结构及其遍历访问的算法,也提供了模型的基本处理算法。VCGlib是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:meshlab1.3.3 + QT5.7 编译
举报原因:
原因补充:

(最多只允许输入30个字)