您的位置:首页 > 其它

Windows下安装SuperLU

2016-04-13 08:32 429 查看
做个记录,备查。

原文:

http://blog.csdn.net/xiaojiao661025/article/details/43449795



http://www.xuebuyuan.com/1707596.html

1、下载SuperLU文件:

这里下载的是 Version 4.1

2、生成库文件:

生成SuperLU.lib文件:

(1)新建一个工程,命名为SuperLU,先将SuperLU\SRC 中的所有的.c文件添加到源文件文件夹中,所有的.h文件添加到头文件文件夹中。并在工程的属性->C/C++->常规->附加包含目录中加入SuperLU\SRC文件夹路径。

(2)在DEBUG下编译:工程右击->属性->配置属性->常规->配置类型->选择static Liarary(.lib)。然后编译,会在SuperLU工程的Debug文件夹中生成SuperLU.lib文件。

(3)DEBUG编译成功后,再生成Release版本:选成Release后,注意还要选择工程右击->属性->配置属性->常规->配置类型->选择static Liarary(.lib)。然后编译,会在SuperLU工程的Release文件夹中生成SuperLU.lib文件。这个文件就是superLU用到的静态链接库。

生成BLAS.lib文件:

由于SuperLu需要调用BLAS库中的一些函数,所以还需要编译BLAS库。而这个库不是vs默认有的库,所以我们还要按照编译出superLU.lib文件的方式编译出一个BLAS.lib文件。

BLAS.lib与SuperLU.lib生成类似:

(1)新建一个工程,命名为BLAS,先将SuperLU\CBLAS 中的所有的.c文件添加到源文件文件夹中,所有的.h文件添加到头文件文件夹中。并在工程的属性->C/C++->常规->附加包含目录中加入SuperLU\CBLAS文件夹路径。

注意:这时如果编译会发现slu_Cnames.h这个文件出错,该文件里面包含的信息为..\SRC\slu_Cnames.h,说明这个文件就是SuperLU文件夹下SRC中的文件,因为我们的工程是建立CBLAS工程的目录而不在SRC的上层目录,因此会出错,要将CBLAS下的slu_Cnames.h文件中的内容删除,然后将SRC下的slu_Cnames.h文件中的内容复制给该工程下由CBLAS导入的slu_Cnames.h文件,再编译就可以了。

(2)在DEBUG下编译:工程右击->属性->配置属性->常规->配置类型->选择static Liarary(.lib)。然后编译,会在BLAS工程的Debug文件夹中生成BLAS.lib文件。

(3)DEBUG编译成功后,再生成Release版本:选成Release后,注意还要选择工程右击->属性->配置属性->常规->配置类型->选择static Liarary(.lib)。然后编译,会在BLAS工程的Debug文件夹中生成BLAS.lib文件。这个文件就是BLAS用到的静态链接库。

3、调用SuperLU:

(1)将SuperLU\SRC路径添加到C++\Additional Include Directories中;

(2)再把路径D:\vs2010\MyProject\example_for _c++\下建的工程SuperLU\Release(此路径下包含文件SuperLu.lib)和路径D:\vs2010\MyProject\example_for _c++\下建的工程BLAS\Relese(此路径下包含文件BLAS.lib)添加到Linker->General->Additional
Library Directories下;

(3)将SuperLU.lib和BLAS.lib添加到Linker->Input->Additional Dependencies。

关于SuperLU的举例可参看:http://www.xuebuyuan.com/1707596.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: