工作记录

Posted on 2014-04-02 23:03  Dawning119  阅读(363)  评论(0)    收藏  举报

Meshlab 编译:

  1. 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

 

  1. 编译meshlab

http://blog.csdn.net/zyjiang0571/article/details/7341912

注意子项目输出路径保持一致

 

Cholmod 编译:

  1. cygwin安装

在cygwin下编译cholmod会有基于cygwin1.dll的依赖,为了取消依赖需要加上-mno-cygwin参数,而该参数在gcc4.X已经被取消,故不能使用最新的cygwin安装方法。

解决方法:安装cygwin的旧版本离线包

https://code.google.com/p/cygwin-easy/downloads/list

此链接为cygwin easy,个人感觉不是非常好用,如果能找到旧版本的cygwin的话可能更好用一点。

  1. 编译cholmod

下载SuiteSparse

在编译之前需要修改配置文件SuiteSparse_config.mk

  1. CF = $(CFLAGS) $(CPPFLAGS)      $(TARGET_ARCH) -O3 -fexceptions -fPIC -mno-cygwin
  2. LIB = -lm -lrt
  3. 下载metis源码并编译,将libmetis.a的路径加入配置文件
  4. 由于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的目录下加入这两个文件即可。

  1. Make 就可以了(大概吧)
  2. 如果demo文件夹中生成了exe文件就说明一切顺利,运行时将blas和lapack的dll文件放入当前文件夹就可以了。
  3. 各工程下的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所在目录下,否则插件无法运行。

 

参考网址:

http://blog.csdn.net/fightingbull/article/details/8144415