回 帖 发 新 帖 刷新版面

主题:我只想用IMSL求个逆,怎么就这么难呢?

[color=000080]我的软件环境:IVF11.1.038+VS2008+IMSL6.0[/color]
program main
use linear_operators
implicit none

integer, parameter :: n=2
real::a(n,n)=(/1,2,3,4/),inva(n,n)
inva=.i.a
write (*,*)inva
end

[color=800080]提示如下错误:[/color]
1>------ 已启动生成: 项目: Study, 配置: Debug Win32 ------
1>Compiling with Intel(R) Visual Fortran 11.1.051 [IA-32]...
1>main.f90
1>Linking...
1>Debug\main.obj:warning : locally defined symbol __imp__MPIPRIV1 imported
1>Debug\main.obj:warning : locally defined symbol __imp__MPIPRIV2 imported
1>Debug\main.obj:warning : locally defined symbol __imp__MPIPRIVC imported
1>main.obj : warning LNK4049: 已导入本地定义的符号 _MPIPRIV1
1>main.obj : warning LNK4049: 已导入本地定义的符号 _MPIPRIV2
1>main.obj : warning LNK4049: 已导入本地定义的符号 _MPIPRIVC
1>main.obj : error LNK2019: 无法解析的外部符号 _OPERATION_I_mp_SMI,该符号在函数 _MAIN__ 中被引用
1>Debug\Study.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>Build log written to  "file://C:\Users\linleistar\Documents\Visual Studio 2008\Projects\Study\Study\Debug\BuildLog.htm"
1>Study - 2 error(s), 6 warning(s)
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

回复列表 (共1个回复)

沙发

你有沒有設定IMSL的INCLUDE和LIB路徑啊?

另外是不是還要加上INCLUDE 'XXXXXXXXX.h'這個指令呢????

XXXXXXXX是要看用哪個版本的平台設定下去編譯

像我的程式沒有用到MPI,而且我呼叫的是靜態lib,

那XXXXXX.h就是link_fnl_static_hpc.h

最後最重要的一點,就是如果你是用64位元下去編譯,而且引用的include和lib路徑是INTEL64版本

那INTEL有公告說這個版本的include檔案有問題,在使用linear_operators這個模組時會無法編譯,他們有提供更新檔,要去下載來

下面這個是INTEL的公告,可以參考一下
http://software.intel.com/en-us/articles/internal-compiler-error-when-using-imsl-modules-imsl_libraries-or-linear_operators-intel-64/?wapkw=(use+linear_operators)
[url=http://software.intel.com/en-us/articles/internal-compiler-error-when-using-imsl-modules-imsl_libraries-or-linear_operators-intel-64/?wapkw=(use+linear_operators)]INTEL關於USE LINEAR_OPERATORS的公告[/url]

不過我覺得你的問題不是這個,而是你在IMSL的INCLUDE上沒搞好~你自己研究下吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册