关于Windows下Fortran调用UMFPACK包的问题

因为从网上dang的代码,用的是fortran写的,里面有一部分是调用umfpack包做稀疏矩阵求解,特意下载的VS2019和intel fortran,生成解决方案的时候,总是说umfpack_函数是外部符号或者命令如图:

继续查原因后,说是需要在项目属性里调用lib,于是乎在网上找了编译好的lib,然后进行如下操作1,在fortran-general里,把UMFOACK包里的include地址卸载Additional Include Directories

2.在linker-general里把UMFPAK包中的Lib地址写上

3.在linker-inpu中,写上需要的lib库

 完成这些后,我又重新生成解决方案,还是一开始的错误,不能解析unfpack

于是,我怀疑可能是网上UMFPACK版本太低了,就打算自己编译一个lib

按照UMFPACK的官方使用手册中,编译UNMFPACK需要AMD,SuiteSparse_config,然后就是UMFPACK文件,把它们解压后放在同一目录中。

安装mingw,安装界面要是我这个,

里面的配置怎么选,网上都有,建议安装地址默认就好了。一定别忘了在我的电脑-高级-环境变量中把C:\MinGW添加到Path里。在cmd中可以键入gcc -v查看gcc版本,mingw-make  -v查看make的版本。另外注意,make命令要在cmd中使用,power shell好像不行的。

安装Cygwin64,网上都有的,然后打开Cygwin64 Terminal。在此之前,根据官方手册中说,需要在SuiteSparse_config-SuiteSparse_config.mk中通过查找把 UMFPACK CONFIG设置为-DNCHOLMOD,即UMFPACK CONFIG = -DNCHOLMOD,不过一般是默认的,最好再检查下。

继续,打开Cygwin64 Terminal,输入UMFPACK文件夹里的那个UMFPACK的地址,如我的 C:/Users/Administrator/Desktop/aer2018/HANK-master/UMFPACK/UMFPACK

然后键入make 

 正常情况下,会在AMD的lib还有UMFPACK的lib中出现几个lib文件,但是我的出问题了。

 尝试了很多方法,比如删除关于这些问题的文件啥的,还会有新的问题,于是我就做到这里了,给需要的人做一个参考,不过我实在不知道哪里出的问题,希望有大神帮忙解答。。。所谓一顿操作猛如虎,一看战力0.5就是我了。

我把关于这些需要的文件和安装包打包放资源里了,里面的UMFPAKCK版本挺新的,我额外又放了一个5.6.2版本的,可以在网上下,AMD自己找的话至少要是2.0版本以后。

转用Matlab,看看能不能把Fortran代码自己翻译翻译成Matlab代码

选好UMFPAK包中的MATLAB文件夹,然后那行umfpack_install,就能生成lib了,matlab怎么用umfpack还待研究。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空花缱绻三分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值