TAUCS库在VS中‘/Md’ or ‘/MDd’下的应用

由于TAUCS库的依赖库都是在-MT下编译的,所以如果是-MT下的应用可以参考前面我的编译过程。这里将讨论在/Md和/MDd 运行时库中的应用。

参考链接:http://matrixprogramming.com/2009/03/taucs-md。事实上链接中阐述的是很全面的,奈何我对Cygwin和gcc的陌生,平白为我理解埋下了隐患。

这里我就不陈述所以然了,如果有兴趣可以看原帖。具体的方法如下:(以下命令都是在预安装的VS 命令提示中完成)

1,如果已经编译了-MT下的 TAUCS库 

    make clean

    如果没有编译 首先,配置VS环境变量,在common7/Tools/vsvars32.bat; 其次用cd.. 退到TACUS文件中 运行configure.bat生成makefile文件

2,更改 config/win32.mk 中FLAGS and LDFLAGS 让TAUCS在-MD下编译,具体如下:

CFLAGS = /nologo /O2 /W3 /D "WIN32" /MD
LDFLAGS = /nologo /MD /F64000000

3,第二步的编译会出现一些错误,主要是重复定义的问题但是可以骗过编译器生成MD下的libtaucs.lib in lib/win32,然而由于该库的支持lib依然来至于-MT,所以是不够的。下载在-MD下编译好的ATLAS,http://matrixprogramming.com/files/bin/atlas-3.6-win.tar.gz。然后ATLAS中的A文文件重命名,并将它们拷贝到新建的文件夹external/new中,其中具体的文件有liblapack.lib libf77blas.liblibcblas.lib and libatlas.lib.

4,然后还应把libgcc.lib和libg2c.lib文件重命名之后拷入new文件中。它们都来至于cygwin。但是当前cygwin的工具包中已经没有gcc.3.x.x的工具了,你可以在网上下载。

5,最后我们还应重编译libmetis.lib 按照http://matrixprogramming.com/2008/05/metis,并将此lib也放入new文件中。

综上,就完成了TAUCS库在-MD下的编译,如果你还有其他的要求只需要编译对应的lib就好了。我只是讲述了方法,如果想知道其所以然建议去原帖细细研究,虽然过程是痛苦的,不过是值得的。

posted @ 2016-03-16 10:05  逐风者的祝福  阅读(406)  评论(1编辑  收藏  举报