Fortran Coder

标题: 调用IMSL的internal error问题 [打印本页]

作者: yzfhhu    时间: 2015-2-5 14:28
标题: 调用IMSL的internal error问题
64位系统 vs2010+ivf2011+imsl7.0
调用imsl函数编程序总是出现第一行错误,不知怎么解决,忘大神解答,感激不尽!!
错误1Compilation Aborted (code 1) c:\users\yzf\documents\visual studio 2010\Projects\Console2\Console2\Source1.f901

具体程序如下:
[Fortran] 纯文本查看 复制代码
program least_square
include 'link_fnl_shared.h'
use imsl_libraries
integer, parameter :: m = 5
integer, parameter :: n = 2
integer :: i
double precision :: A(m,n), B(m), X(n)
double precision :: C(n, m), D(n,n), E(n)

data A / 2, 8, 2, 7, 4, -1, 4, 1, -1, 0 /
data B / 1, 0, 1, 8, 3 /

if( m > n ) then
C = transpose(a)
D = matmul( c, a )
E = matmul( c, b )
X = D .ix. E ! invert(D) * E
else if( m == n ) then
X = A .ix. B
else
write(*,*) "No roots!"
end if
do i = 1, n
write(*,*) X(i)
end do
stop
end program least_square



作者: fcode    时间: 2015-2-5 15:40
在我这里,可以编译链接,得到结果:

0.792719919110212
-1.46410515672396
请按任意键继续. . .

我想,你应该查看一下 Compilation Aborted 前面的错误。请切换到“输出”窗口查看,而非“错误窗口”
作者: yzfhhu    时间: 2015-2-5 16:41
fcode 发表于 2015-2-5 15:40
在我这里,可以编译链接,得到结果:

0.792719919110212

编译后输出窗口是这样,还是看不明白啊,好像说是“if( m > n ) then”这里有问题,但我把if的过程删了,又显示另一处错误,您能帮我分析下吗?
------ Build started: Project: Console2, Configuration: Release|x64 ------

Compiling with Intel(R) Visual Fortran Compiler XE 12.0.5.221 [Intel(R) 64]...
Source1.f90
c:\users\yzf\documents\visual studio 2010\Projects\Console2\Console2\Source1.f90(13): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
if( m > n ) then
^
[ Aborting due to internal error. ]
compilation aborted for c:\users\yzf\documents\visual studio 2010\Projects\Console2\Console2\Source1.f90 (code 1)

Build log written to  "file://c:\users\yzf\documents\visual studio 2010\Projects\Console2\Console2\x64\Release\BuildLog.htm"
Console2 - 1 error(s), 0 warning(s)


---------------------- Done ----------------------

作者: fcode    时间: 2015-2-5 21:35
internal error 的错误比较难以排查。而且我这里没法重现。

我只能给你一些建议:
1.重新安装 IVF
2.尝试用简单的代码,看能否编译?
3.尝试更换一个 IMSL 的版本
4.尝试去intel论坛寻求帮助
作者: 吉大渣渣-固体    时间: 2015-12-30 17:21
在IMSL的安装地址里找看有没有link_fnl_shared.h这个文件,如果没有,建议把link_fnl_shared.h改成link_f90_static.h试试




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2