VS+IVF(IMSL库5.0)的搭建环境

关于IMSL库的其他信息(不是我的):

1. 【学习笔记】关于 Fortran IMSL(国际数学与统计函数库)开发环境搭建_[license过期的问题] ;

2. VS2013 + Intel Parallel Studio 2017 + IMSL2018 环境搭建 。

单独IMSL5的安装:

1. 安装IMSL5.0。

1 背景

    我是哈尔滨工程大学的一名硕士学生,近期编制Fortran程序,由于以往代码中用到了强大的IMSL数学库,所以必须实现这个库的安装与环境搭建。

    网上很多教程散步各地,对初学者不利,浪费多余精力。我不才,借助的简洁高效记录在互联网上传播一下经验,也为自己留一个教程备份。

PS:不建议依赖IMSL库,总体上它和Fortran是过时的,不过那又怎样,是工具嘛;推荐使用IMSL5.0。

2 介绍

    旧版本的IVF(Intel Visual Fortran)自带IMSL库,新版本的IVF自带MKL库,就不自带IMSL库了,但是IMSL独具备强大的非线性方程组求解能力。

3 安装与搭建

3.1 安装

3.1.1 下载链接

    推荐使用pan.fcode.com中的VS2013+IVF2013(内含不需要许可证的32bit的IMSL库):

    1 fcode网站:pan.fcode.cn

    2 我的百度网盘

    VS2013: https://pan.baidu.com/s/1iRx40J3qPA7x9ciOC-GGCA  提取码:mjxj

    IVF2013(内含IMSL库): https://pan.baidu.com/s/1ZwQMFi4u1h0foiFk4Kgg6A  提取码:ia8b

    3 纯IMSL5.0(32位)链接(推荐):

链接:https://pan.baidu.com/s/1fPbSZFmuHi8h7vIpgEzFpw

提取码:xjqo

3.1.2下载方法

    1 浏览器 + Tampermonkey + 百度网盘脚本 ( Greasy Fork https://greasyfork.org/zh-CN/scripts) + IDM下载器 ( 链接:https://pan.baidu.com/s/1f8uPLBudmU-_t4dc5T2oXg  提取码:n51a )

    2 百度网盘客户端

    3 Pandownload ( http://pandownload.com/ )

3.1.3 安装方法

    1 依次安装VS2013、IVF2013、IMSL库。IMSL库在IVF镜像文件iso根目录下文件imsl内,32bit。

    注册码填201111(网上都这么说,但是感觉有一次错填了2011好像也没出问题。。。)

    IMSL的安装路径一般为C:\Program Files(x86)\VNI\...

    2 直接安装IMSL5.0,理论上可关联任意版本的VS和IVF,上文提供了5.0版本的网盘链接,但是还需要:

    链接:https://pan.baidu.com/s/1t8UGZfu9BxCWyz4qa_mjuQ

    提取码:4r6e

    放置在以下路径:

    C:\Program Files (x86)\Common Files\Intel\Licenses\intel_2013.lic

3.1.4 其他IMSL与环境

    理论上IMSL与IVF版本之间不挑的,所以只要IMSL版本较高,附着在任何IVF上都是可行的。

    从效率上来看,64bit的版本更符合现代环境,可以制作出64bit的exe文件。

    以下给出IMSL 6.0 和IMSL 7.0 版本,但是由于许可证过期问题,(可能)需要通过更改电脑的系统时间进行使用(并不能通过更改许可证内日期达到延期目的)。

    1 IMSL 6.0(32bit) : https://pan.baidu.com/s/1U1D9j0LAU3kOeA3tm97RHg  提取码:pqrz

    2 IMSL 7.0 (32bit&64bit):  https://pan.baidu.com/s/13OG91pSKuzJPSfWwfPd6Kg  提取码:hs8v

    3 ISML License:  https://pan.baidu.com/s/1qgpE7hhn6Y-hLxoC7CeQAA  提取码:ztmx

    license.lic放置在C:\Program Files(x86)\VNI\license下

3.2 使用

3.2.1 IMSL 5.0 使用

注:如果需要在其他电脑上运行含调用IMSL库的程序,可选择调用静态lib或者动态dll。

    推荐细读IMSL自带的帮助文档(Readme)

    VS》工具》选项》Inte Composer XE》Visual Fortran》Compilers》

    分别设置Win32下的Includes和libraries。

    一般在声明中添加语句以调用IMSL:

Include 'link_f90_dll_smp.h'                         ! 动态链接库。

或者

include 'link_f90_static.h'                                !推荐使用静态链接库,详情参考IMSL帮助文档。

调用动态链接库或静态链接库

在2019年,多核cpu常见,imsl5.0在多核(>=4)电脑上安装的时候需要进行下述操作:

WIN+R输入msconfig,引导->高级选项

将cpu设置为2 (少于4) 个,重启安装imsl,安装成功后改回来,重启。

3.2.2 IMSL 7.0 使用(失效,因为有一个许可证过期的巨大弊端)

同上,调用方式改变,推荐细读IMSL自带的帮助文档(Readme)

Use Numercial_Libraries

Include 'link_fnl_shared.h'

值得注意的地方是,生成的exe执行文件可能会出现以下问题

由于找不到mkl_intel_thread.dll,无法继续执行代码。


不要慌,使用Everything软件搜素电脑中该mkl_intel_thread.dll文件,发现其在MKL库路径中,将该路径添加到系统环境变量PATH中。

4 静态链接库

    静态链接库不同于动态链接库(*.dll),在静态库情况下,函数和数据被编译进一个二进制文件(通常扩展名为*.LIB),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。这个过程称为"静态链接",此时因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。

--摘自《百度百科-静态链接库》

写的很乱,但是很开心,哈哈~~

------------------完毕-------------------

Write By ZoZiha, @HEU 2020/5/5  (Last Modified).

你可能感兴趣的:(VS+IVF(IMSL库5.0)的搭建环境)