Window10下 SuperLU安装(vs2019)

最近在使用SuperLU进行非线性方程求解(Ax=b),由于习惯在windows下的进行代码开发,因此简单介绍下SuperLU在vs2019版本的安装过程。

vs2019版本安装的时候老是出错,这里分享一些解决方法。

 

    下载SuperLU,官方网站:https://portal.nersc.gov/project/sparse/superlu/#superlu 

    下载串行版本,放在:F:\superLU\superlu-5.2.2

 

SuperLU安装与使用一般可分为两个步骤:1.成静态链接库2.Vs2019中配置使用,下面详细说明

一. 静态链接库生成,需要生成SuperLU.lib和BLAS.lib (很多已经说的很详细了:https://www.xuebuyuan.com/1707596.html )

     1. 生成SuperLU.lib

         (1) 首先在vs2019下建立工程,命名为SuperLU

         (2) 把 F:\superLU\superlu-5.2.2\SRC 文件夹下所有文件拷贝到新建的工程下,然后 项目名称--右键--添加--现有项,添加所有文件

       (3)项目名称--右键--属性--配置属性--配置类型(改为 静态库.lib),注意上面的平台改为x64 (平台和版本需要一一对应,这里选择Debug和x64)

       (4) 将文件夹 F:\superLU\superlu-5.2.2\SRC 添加到  属性->C/C++->常规->附加包含目录,并点击应用和确定

         (5)  然后点击  生成---生成解决方案,(直接运行也可以,因为是生成静态库,没有入口,运行会出现无法启动程序...,但依然会生成lib)

          在vs2019下会出现很多错误,常见的两个,  'sprintf': This function or variable may be unsafe ... ,  AA值为初始化...

          解决方案:属性--C/C++--常规--SDL检查,设置为否   (vs2010不会有这些问题)

         这样就生成了SuperLU.lib,路径在  **\SuperLU\x64\debug

   2. 生成BLAS.lib (生成方式与SuperLU.lib相同)

         (1) 首先在vs2019下建立工程,命名为BLAS

         (2) 把 F:\superLU\superlu-5.2.2\CBLAS文件夹下所有文件拷贝到新建的工程下,然后 项目名称--右键--添加--现有项,添加所有文件

       (3)项目名称--右键--属性--配置属性--配置类型(改为 静态库.lib),注意上面的平台改为x64 (平台和版本需要一一对应)

       (4) 将文件夹 F:\superLU\superlu-5.2.2\CBLAS 添加到  属性->C/C++->常规->附加包含目录,并点击应用和确定

         (5)  然后点击  生成---生成解决方案,遇到问题同上

           这样就生成了SuperLU.lib,路径在  **\BLAS\x64\debug

 

二、在Vs2019中配置使用

        (1) 在vs2019下建立工程,命名test,新建a.cpp文件,这里测试SuperLU自带的例子(例子路径:F:\superLU\superlu-5.2.2\EXAMPLE\superlu.c,将其内容拷贝到a.cpp,平台需对应Debug和x64)

        (2)  右键--属性--C/C++--附加包含目录(F:\superLU\superlu-5.2.2\SRC), 属性--C/C++--常规--SDL检查,设置为否(否则会出现  'sprintf':...  等错误)

        (3)  属性--链接器--常规--附加库目录 (**\SuperLU\x64\debug和**\BLAS\x64\debug )

               // 注:怕每次建立工程配置麻烦的,可将x64\debug下的SuperLU.lib和BLAS.lib拷贝到一个单独文件夹下,比如我将两个.lib拷贝到:F\ku\deg64文件夹下。

               //  也可以直接项目名称--右键--添加--现有项--SuperLU.lib和BLAS.lib

        (4)  属性--链接器--输入--附加依赖项--加入SuperLU.lib和BLAS.lib

      (5) 直接运行,Vs2019下出现很多错误:例如:const char* 类型的实参与 char*类型的实参不兼容....  (Vs2010不会有这些问题)

               解决方案:属性--C/C++--语言--符合模式 点否    这样就不会再出错了。

 步骤(2)截图

 

步骤(3)截图

步骤(4)截图

步骤(5)截图

      

 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值