UMFPACK在Windows下的编译
2008-3-23
jingwenlai
参照matrixprogramming上的Compile UMFPACK.pdf,今天编译成功可结合VS2005使用的UMFPACK。这里编译的主要思路是利用Cygwin,但是使用-mon-cygwin选项来避免对Cygwin的dll的依赖。
现在将主要的一些步骤记录如下:
1.
准备工作:UMFPACK依赖于Ufconfig,AMD(类似于Taucs的metis).下载后将之解压与同一目录。
2.
在这里,我们想结合使用BLAS.首先下载原文中链接的libatlas.a libblas.a libcblas.a libf77blas.a liblapack.a.
3.
在UFConfig中的.mk文件中加入-mon-cygwin
CFLAGS = -O3 –mno-cygwin 以及
BLAS= -L$(刚刚下载的lib的放置地址) –lf77blas –latlas –lg2c
4.
make 编译。编译完后,可以在Demo中看到一些执行文件。用下列命令查看:
$ cygcheck Demo/umfpack_simple.exe
若输出中含有$(CYGWIN)/bin/cygiwn1.dll则说明这个版本未能脱离CYGWIN的版本。若不含这个则说明编译出的lib可以脱离Cygwin使用。
5.
测试其可用性。在Demo中编译出一些可执行的文件,可以杳看其结果,但是通常我们希望在VS2005中使用它,这里,可将Demo中的其中一个例子用于建立工程的测试文件。而头文件路径则按自己组织的路径。至于库文件则应包含以下几项:
libamd.lib libf77blas.lib libgcc.lib libumfpack.lib libatlas.lib libg2c.lib
其中,libg2c.lib ,libgcc.lib两个文件在/lib/gcc/i686-pc-mingw32/3.4.4/下,将原来的.a换成.lib即可使用。
-
此前已经上传到CSDN,可用下述链接下载。
http://download.csdn.net/detail/jingwenlai_scut/1663745