Meshlab 编译:
- Vs 2010 + qt4.8.x+ vs qt pluggins
参考教程:
http://www.cnblogs.com/elect-fans/archive/2012/03/29/2422816.html
vs 2012编译后会有错误(另附 2012编译qt4.8.5教程)
http://www.cnblogs.com/russinovich/archive/2012/06/30/2571032.html
- 编译meshlab
http://blog.csdn.net/zyjiang0571/article/details/7341912
注意子项目输出路径保持一致
Cholmod 编译:
- cygwin安装
在cygwin下编译cholmod会有基于cygwin1.dll的依赖,为了取消依赖需要加上-mno-cygwin参数,而该参数在gcc4.X已经被取消,故不能使用最新的cygwin安装方法。
解决方法:安装cygwin的旧版本离线包
https://code.google.com/p/cygwin-easy/downloads/list
此链接为cygwin easy,个人感觉不是非常好用,如果能找到旧版本的cygwin的话可能更好用一点。
- 编译cholmod
下载SuiteSparse
在编译之前需要修改配置文件SuiteSparse_config.mk
- CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -mno-cygwin
- LIB = -lm -lrt
- 下载metis源码并编译,将libmetis.a的路径加入配置文件
- 由于cygwin easy中的gcc不自带fortran编译器,无法编译blas和lapack,但是我们可以将编译好的dll文件路径加入配置文件
BLAS = C:\\Users\\Usagi\\Desktop\\SuiteSparse\\blas_win32_MT.dll
LAPACK = C:\\Users\\Usagi\\Desktop\\SuiteSparse\\lapack_win32_MT.dll
实际上dll文件是不会编译进动态库的,我怕写错相对地址就写成了绝对地址,其实也无所谓。只要在输出exe的目录下加入这两个文件即可。
- Make 就可以了(大概吧)
- 如果demo文件夹中生成了exe文件就说明一切顺利,运行时将blas和lapack的dll文件放入当前文件夹就可以了。
- 各工程下的lib文件和.h文件copy出来就可以用了。
参考网址:
http://blog.parlin.me/complie-cholmod-to-get-library-for-win64/
Cholmod warpper:
一个c++类封装的cholmod包,源码在
http://sweb.cityu.edu.hk/hongbofu/software.html
利用生成的lib,加入cholmod wrapper的.hpp文件就可以直接使用了。
编写插件:
vs中需要设定好cholmod的lib路径,名称,include路径,之后应该就可以运行了。
值得注意的是,要将blas和lapack两个dll文件也放入生成的meshlab.exe所在目录下,否则插件无法运行。
参考网址: