By wangsh 2011-11-22
metis是比较经典的分割图算法库,算法经典,稳定高效。
本文介绍编译metis问题解决:
metis:参考2中下载metis-4.0.tar.gz 解压。
建立空vs2008工程,添加lib中的文件,编译。
解决出现的几个问题:
1. 找不到double drand48()void srand48(long):
方法1:在macros.h文件头添加:#define __VC__
方法2:自己建立rand48.c:拷贝下面内容:
/* ========================================================================== */
/* === rand48.c ====================================================== */
/* ========================================================================== */
/* METIS uses drand48 and srand48
*/
#include <stdlib.h>
double drand48 (void)
{
return (((double) (rand ( ))) / ((double) RAND_MAX)) ;
}
void srand48 (long int seed)
{
srand ((unsigned int) seed) ;
}
2. 找不到void ReadGraph(GraphType *graph, char *filename, int *wgtflag)函数,将Programs文件夹下io.c和smbfactor.c到Lib文件夹下,添加到工程中,解决。
编译链接,成功!
Enjoy it!
版权所有,侵权必究。转载请注明链接: http://blog.csdn.net/wsh6759/article/details/7000329
参考资料
1. Metis简介 http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
2. Metis4.0源码网址http://glaros.dtc.umn.edu/gkhome/fsroot/sw/metis/OLD
3. 工程网址 http://www.lrz.de/services/software/mathematik/metis/
4. 源码介绍: http://people.sc.fsu.edu/~jburkardt/c_src/metis/metis.html