编译配置最新版本Meshlab v1.3.3

来源:互联网 发布:nba2k17pc版优化 编辑:程序博客网 时间:2024/06/05 08:25

编译配置最新版本Meshlab v1.3.3

配置环境

环境 版本 本机环境 win7 64位 编译环境 Qt5.3 + msvc2012_openGL(构建套件) meshlab v1.3.3(02 April 2014)

配置步骤

1.MeshLab主页 下载 Meshlab v1.3.3源代码
Meshlab

2.选择在线安装方式下载QT
QT

下载完成后,需要注册qt账号(可使用邮箱登录),下载msvc 2012 32bit OpenGL
这里写图片描述

注意:无论你的机器是32位还是64位一定要安装32bit msvc!(否则在后续编译external会无法生成lib,具体原因见问题总结)

3.打开../meshlab/src/external/external.pro 构建external(注意不要点击绿色箭头运行项目,会出现错误),
构建成功后,会看到一个带有编译环境的文件夹(我的是build-external-Desktop_Qt_5_3_MSVC2012_OpenGL_32bit-Debug),该文件夹中含有编译meshlab时所需要的所有运行库(.lib)

这里写图片描述

4.打开../meshlab/src/meshlab_mini.pro,在Debug模式下运行,此时会报无法找到”jhead.lib”等链接错误,不要急,将第3步产生的文件夹中的lib文件拷贝到当前环境文件夹下(我的是build-meshlab_mini-Desktop_Qt_5_3_MSVC2012_OpenGL_32bit-Debug),要将lib加一个文件夹外壳external

这里写图片描述

5.再次编译运行meshlab_mini,Bingo!

这里写图片描述

问题总结

1.编译external时,会出现如下错误:

这里写图片描述

原因分析:因编译器原因,dllexport只能出现在函数声明处,而不能出现在函数定义处
解决方式:删除所有与之相关的函数中的dllexport部分(如下图所示)

这里写图片描述

2.编译external时,构建成功,却并没有产生对应的Debug文件夹及所需的lib文件.
原因分析:查看meshlab.pro文件是,发现与文件生成有关的目录名全部是win32开头的(如下图所示),而由于之前我因本地机器是64位的,在安装qt时选择的是msvc 2012 64bit opengl,与源代码作者的本地环境32位冲突导致的。
解决方式:更换qt版本,改为msvc 2012 32 bit opengl

这里写图片描述

3.运行meshlab_mini时,报无法找到jhead.lib的链接错误
原因分析:查看meshlab_mini.pro文件,发现运行时的链接寻找路径有问题,如下图所示:
解决方式:在debug文件下建一个空的external文件夹,将之前构建external产生的lib文件夹拷入.
这里写图片描述

0 0
原创粉丝点击