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

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

配置环境

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

配置步骤

1.MeshLab主页 下载 Meshlab v1.3.3源代码
编译配置最新版本Meshlab v1.3.3_第1张图片

2.选择在线安装方式下载QT
编译配置最新版本Meshlab v1.3.3_第2张图片

下载完成后,需要注册qt账号(可使用邮箱登录),下载msvc 2012 32bit OpenGL
编译配置最新版本Meshlab v1.3.3_第3张图片

注意:无论你的机器是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)

编译配置最新版本Meshlab v1.3.3_第4张图片

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

编译配置最新版本Meshlab v1.3.3_第5张图片

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

编译配置最新版本Meshlab v1.3.3_第6张图片

问题总结

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

编译配置最新版本Meshlab v1.3.3_第7张图片

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

编译配置最新版本Meshlab v1.3.3_第8张图片

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

编译配置最新版本Meshlab v1.3.3_第9张图片

3.运行meshlab_mini时,报无法找到jhead.lib的链接错误
原因分析:查看meshlab_mini.pro文件,发现运行时的链接寻找路径有问题,如下图所示:
解决方式:在debug文件下建一个空的external文件夹,将之前构建external产生的lib文件夹拷入.
编译配置最新版本Meshlab v1.3.3_第10张图片

你可能感兴趣的:(图形学)