MeshLab源码编译 vs2010+win7 64bit

为了能够方便的使用meshlab的源码,今天特意编辑了一下mesh源码(QtCreator同理)

1.源码下载:http://sourceforge.net/projects/meshlab/files/meshlab/里面是包含了VCGlib和meshlab的

2.QtCreator,QT source code 4.8.5,Qt-add-in-Vs2010,这个是很简单的,在http://qt-project.org/download下载(有一键安装的,不用去费劲编译)

3.VS2010+win7 64bit旗舰版


上面的准备工作做好之后,就可以进行meshlab的源码编译了。

1.打开VS2010,上面的菜单会出现Qt这一项(保证你安装了Qt-add-in)


2.点击Qt,选择open Qt Project file(.pro)文件,打开src\external文件夹下的external.pro,生成解决方案

3.打开meshlab_full.pro(全部)或者meshlab_mini.pro(子集,速度快一些),其中会弹出common、io_base、filter_meshing、meshlab,按照这个顺序,对每一个项目生成。

4.调试代码,如果程序报错的情况下,那么请把src/distrib/plugins目录下的两个XML文件删掉(一共就这两个xml文件)

注意:一定要将meshlab设为启动项目(右键即可,成功后加黑)

5.成功的话,会出现meshlab的界面。




特别注意为了保证正确:

1.然后打开meshlabsrc\src\external路径下的openctm.h添加一句:

#define OPENCTM_BUILD
打开\src\external\lib3ds-1.3.0\lib3ds路径下的types.h添加一句:
#define LIB3DS_EXPORTS
不做这样的修改编译时会给出dll链接不一致的警告,后面链接时会报错:编译io_3ds库时也会出现问题,会报错说有些函数没有找到相关引用

2.另外还需要打开对应的io_3ds.pro文件,需要添加一行“win32-msvc2010:LIBS+= ../../external/lib/win32-msvc2010/3ds.lib”

3.进入meshlab下的meshlabplugins下的某个插件,打开对应的工程,然后编译,就可以生成插件文件dll,文件在distrib目录下的plugins中,每次meshlab启动的时候,会自动加载。可以在meshlab的about菜单下看见加载的插件

4.不知道为什么,编译的meshlab打不开off格式的文件,小弟很好奇老是提示:string subscript out of range,希望大家能多和我交流


你可能感兴趣的:(meshlab)