2

我无法使用对DISLIN的引用来编译 Fortran 代码。我已经从网站下载了 DISLIN,解压缩了文件并运行了设置。我添加了一个名为 DISLIN (C:\dislin) 的环境变量,并将 C:\dislin\win 添加到PATH我的系统变量部分。

我正在尝试编译 DISLIN 网站的一些示例代码,其中包括行

USE DISLIN

我正在使用 MinGW shell 使用命令进行编译,gfortran -o progrname -ldislin EX11_1.f90并收到以下错误:

致命错误:无法在 (1) 打开模块文件“dislin.mod”进行读取:没有这样的文件或目录。

我尝试更改变量路径,甚至移动dislin.mod文件(在那里),但仍然得到相同的消息。

4

4 回答 4

2

好的,我解决了这个问题,所以我想我回来发布对我有用的东西,以防其他人需要它......

  1. 在 C 盘上同时安装 DISLIN 和 MinGW
  2. 将 /c/dislin 中的 disgf.a 和 /c/dislin/gf 中的 dislin.f90 复制到包含您的 fortran 文件的目录中(对我来说,这是 /c/MinGW/pnote)
  3. 使用 MinGW shell 导航到您的文件:cd /c/MinGW/pnote
  4. 编译 dislin.f90 和你的 fortran 程序:gfortran -c dislin.f90 progName.f90(dislin.f90 显然只需要执行一次)
  5. 链接库等并编译:gfortran progName.o disgf.a -luser32 -lgdi32 -lopengl32 -o exeName
  6. '运行' exeName
于 2013-10-15T20:14:30.540 回答
1

您可能需要指定 DISLIN 模块文件的路径:

gfortran EX11_1.f90 -o progrname -ldislin -I/path/to/DISLIN/modules

并且,如果还没有像这里描述的那样配置,还有库本身的路径:

gfortran EX11_1.f90 -o progrname -ldislin -I/path/to/DISLIN/modules \
         -L/path/to/DISLIN/library 
于 2013-10-01T14:20:15.510 回答
0

他们提供了一个批处理文件(windows)来为您进行编译和链接。

f90link -c My_Program

它位于 c:\dislin\Win

此外,如果您在使用位于 c:\dislin\gf 中的 dislin.mod 文件时遇到问题,请使用 -c 编译选项重新编译该文件。我在 c:\dislin\readme.inf 中找到了所有这些信息

于 2016-03-12T05:23:29.203 回答
0

据我所知(2018 年 1 月)dislin(64 位)在 gfortran 7.2 期间惨遭失败;并且可能与许多其他较新的编译器一起使用。尝试链接时,gfortran 7 说“dislin.mod”是一种无法识别的格式。我认为该程序高度依赖于完全正确的版本同步 - 经过多年的研究,恕我直言,这使得此类软件毫无用处。

不,各种“路径”的正确性似乎无济于事。

毕竟,gnuplot“完全”有效。不知道为什么我花了这么多时间在品牌 x 上。jrc

于 2018-01-03T10:47:23.017 回答