Meshlab编写自定义插件(上) -- 源代码编译
本文中的代码资源(即“附件”)下载地址:
链接: https:// pan.baidu.com/s/1Ci85Mr tVHKVkxpGDYz2dXw
提取码: cueq
Meshlab 是一个开源的 3D 网格处理软件,在查看、处理 3D 点云/网格对象时很有用。有时候我们希望能够扩展它的功能,添加自己的一些方法,可以通过编写 Meshlab plugin 的方式来实现。
本文实验环境:Windows 8.1,Visual Studio 2015,Qt 5.6.2,PCL 1.8。
1 Meshlab 源码编译
1.1 下载源代码
直接下载用 VS2012 以上版本编译会有很多问题,我对其中的 .pro 文件进行了一些修改, 使得其在 VS2013 和 VS2015 下可以比较方便的编译。可以直接用附件里的 “meshlab_src_v133.zip”。
1.2 安装配置 Visual Studio 2015 的 Qt 5 插 件
下载地址:
安装完后 VS 会多出一个 Qt 菜单:
配置要用的 Qt 版本:
之后可以利用 VS 来打开 Qt 的 .pro 项目文件了:
1.3 编译外部库 external
解压缩 “meshlab_src_v133.zip”:
利用 VS 打开 meshlab/src/external 中的“ external.pro ”:
此时 VS 会根据 .pro 文件来生成 VS 的 .sln 文件,转换过程可能要花一些时间,生成完 后侧边栏会出现子项目视图:
按住 Shift 键,批量选中所有子项目,右键选择“Build Selection”:
等待编译成功后关闭 VS 。
1.4 编译 meshlab 项目
利用 VS 打开 meshlab/src 中的“meshlab_dev.pro”(可以用文本编辑器打开 meshlab_dev.pro、 meshlab_mini.pro 和 meshlab_full.pro 这几个文件,比较一下它们的异 同):
此时 VS 会根据 .pro 文件来生成 VS 的 .sln 文件,由于子项目比较多,花费的时间会比 较长,耐心等待。
成功打开 .pro 文件后(实际是完成了 .pro 到 .sln 的转换),侧边栏应该有 30 个子项目:
按住 Shift 键,批量选中所有子项目,右键选择“Properties”:
在 “C/C++ -- Preprocessor -- Preprocessor Definitions” 中的 <different options> 下面填入 “_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS”:
仍然按住 Shift 批量选择子项目,这次选中除了“common”外的所有子项目,右键选择 “Properties”:
在 “Linker -- Input -- Additional Dependencies”中添加 glu32.lib 和 opengl32.lib:
按住 Shift 键,批量选中所有子项目,右键选择“Build Selection”:
编译会比较慢,耐心等待;编译成功后,在 meshlab/src/distrib 下会生成 meshlab.exe 文件:
打开运行:
完成了从源代码编译生成可执行程序,下一篇我们来写代码添加插件。