主题:intel visual fortran怎样使用imsl静态库的问题
利用动态库可以编译运行以下代码,但是用静态库就出错,出线了一堆错误
INCLUDE 'link_fnl_shared.h'
program aa
use imsl_libraries
real a(3,3),b(3,3),c(3,3)
a=1
b=2
a(1,3)=2
a(2,1)=2
b(1,2)=3
b(2,1)=3
c=a .x. b
write(*,*) c
print *,'OK'
end
像这样子是可以用的,但是生成的程序放到其他未安装imsl的电脑,提示缺少imsl_dll.dll
我想改成用静态库来调用(就像cvf中的use imsl),以便放到其他电脑上也可以运行
就改成
INCLUDE 'link_fnl_static.h'
program aa
use imsl_libraries
real a(3,3),b(3,3),c(3,3)
a=1
b=2
a(1,3)=2
a(2,1)=2
b(1,2)=3
b(2,1)=3
c=a .x. b
write(*,*) c
print *,'OK'
end
但是编译时有很多错误,应该怎么解决?
求高人帮忙解决。
错误列表如下,不想看的请无视以下部分:
错误 4 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 LIBCMTD.lib(typinfo.obj) 中定义 msvcrt.lib(ti_inst.obj)
错误 5 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 LIBCMTD.lib(typinfo.obj) 中定义 msvcrt.lib(ti_inst.obj)
错误 6 error LNK2005: __time32 已经在 LIBCMTD.lib(time.obj) 中定义 msvcrt.lib(MSVCR90.dll)
错误 12 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(flexlm.obj)
错误 13 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1lock.obj)
错误 14 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(umach.obj)
错误 15 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1ucs.obj)
错误 16 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1prt.obj)
错误 17 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(n1rgb.obj)
错误 18 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1stl.obj)
错误 19 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1pop.obj)
错误 20 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1init.obj)
错误 21 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e2psh_lmf.obj)
错误 22 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1inpl.obj)
错误 23 error LNK2019: 无法解析的外部符号 ___kmpc_global_thread_num,该符号在函数 _OPERATION_X_mp_SMSBP 中被引用 imsls_err.lib(operation_x.obj)
错误 24 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1psh_lmf.obj)
错误 25 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1sti.obj)
错误 26 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1mes.obj)
错误 27 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1prt.obj)
错误 28 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(n1rgb.obj)
错误 29 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1stl.obj)
错误 30 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(umach.obj)
错误 31 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1pop.obj)
错误 32 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1init.obj)
错误 33 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1inpl.obj)
错误 34 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1ucs.obj)
错误 35 error LNK2019: 无法解析的外部符号 ___kmpc_threadprivate_cached,该符号在函数 _OPERATION_X_mp_SMSBP 中被引用 imsls_err.lib(operation_x.obj)
错误 36 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1psh_lmf.obj)
错误 37 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1sti.obj)
错误 38 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1mes.obj)
错误 39 error LNK2019: 无法解析的外部符号 ___kmpc_critical,该符号在函数 _e2psh 中被引用 imsls_err.lib(e2psh_lmf.obj)
错误 40 error LNK2001: 无法解析的外部符号 ___kmpc_critical imsls_err.lib(flexlm.obj)
错误 41 error LNK2001: 无法解析的外部符号 ___kmpc_critical imsls_err.lib(e1lock.obj)
错误 42 error LNK2019: 无法解析的外部符号 ___kmpc_end_critical,该符号在函数 _e2psh 中被引用 imsls_err.lib(e2psh_lmf.obj)
错误 43 error LNK2001: 无法解析的外部符号 ___kmpc_end_critical imsls_err.lib(flexlm.obj)
错误 44 error LNK2001: 无法解析的外部符号 ___kmpc_end_critical imsls_err.lib(e1lock.obj)
错误 45 error LNK2019: 无法解析的外部符号 ___kmpc_flush,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 46 error LNK2019: 无法解析的外部符号 ___kmpc_set_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 47 error LNK2019: 无法解析的外部符号 _omp_set_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 48 error LNK2019: 无法解析的外部符号 ___kmpc_unset_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 49 error LNK2019: 无法解析的外部符号 _omp_unset_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 50 error LNK2019: 无法解析的外部符号 ___kmpc_init_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 51 error LNK2019: 无法解析的外部符号 _omp_init_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 52 fatal error LNK1120: 11 个无法解析的外部命令 Debug\Console1.exe
INCLUDE 'link_fnl_shared.h'
program aa
use imsl_libraries
real a(3,3),b(3,3),c(3,3)
a=1
b=2
a(1,3)=2
a(2,1)=2
b(1,2)=3
b(2,1)=3
c=a .x. b
write(*,*) c
print *,'OK'
end
像这样子是可以用的,但是生成的程序放到其他未安装imsl的电脑,提示缺少imsl_dll.dll
我想改成用静态库来调用(就像cvf中的use imsl),以便放到其他电脑上也可以运行
就改成
INCLUDE 'link_fnl_static.h'
program aa
use imsl_libraries
real a(3,3),b(3,3),c(3,3)
a=1
b=2
a(1,3)=2
a(2,1)=2
b(1,2)=3
b(2,1)=3
c=a .x. b
write(*,*) c
print *,'OK'
end
但是编译时有很多错误,应该怎么解决?
求高人帮忙解决。
错误列表如下,不想看的请无视以下部分:
错误 4 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 LIBCMTD.lib(typinfo.obj) 中定义 msvcrt.lib(ti_inst.obj)
错误 5 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 LIBCMTD.lib(typinfo.obj) 中定义 msvcrt.lib(ti_inst.obj)
错误 6 error LNK2005: __time32 已经在 LIBCMTD.lib(time.obj) 中定义 msvcrt.lib(MSVCR90.dll)
错误 12 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(flexlm.obj)
错误 13 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1lock.obj)
错误 14 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(umach.obj)
错误 15 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1ucs.obj)
错误 16 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1prt.obj)
错误 17 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(n1rgb.obj)
错误 18 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1stl.obj)
错误 19 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1pop.obj)
错误 20 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1init.obj)
错误 21 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e2psh_lmf.obj)
错误 22 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1inpl.obj)
错误 23 error LNK2019: 无法解析的外部符号 ___kmpc_global_thread_num,该符号在函数 _OPERATION_X_mp_SMSBP 中被引用 imsls_err.lib(operation_x.obj)
错误 24 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1psh_lmf.obj)
错误 25 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1sti.obj)
错误 26 error LNK2001: 无法解析的外部符号 ___kmpc_global_thread_num imsls_err.lib(e1mes.obj)
错误 27 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1prt.obj)
错误 28 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(n1rgb.obj)
错误 29 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1stl.obj)
错误 30 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(umach.obj)
错误 31 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1pop.obj)
错误 32 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1init.obj)
错误 33 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1inpl.obj)
错误 34 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1ucs.obj)
错误 35 error LNK2019: 无法解析的外部符号 ___kmpc_threadprivate_cached,该符号在函数 _OPERATION_X_mp_SMSBP 中被引用 imsls_err.lib(operation_x.obj)
错误 36 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1psh_lmf.obj)
错误 37 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1sti.obj)
错误 38 error LNK2001: 无法解析的外部符号 ___kmpc_threadprivate_cached imsls_err.lib(e1mes.obj)
错误 39 error LNK2019: 无法解析的外部符号 ___kmpc_critical,该符号在函数 _e2psh 中被引用 imsls_err.lib(e2psh_lmf.obj)
错误 40 error LNK2001: 无法解析的外部符号 ___kmpc_critical imsls_err.lib(flexlm.obj)
错误 41 error LNK2001: 无法解析的外部符号 ___kmpc_critical imsls_err.lib(e1lock.obj)
错误 42 error LNK2019: 无法解析的外部符号 ___kmpc_end_critical,该符号在函数 _e2psh 中被引用 imsls_err.lib(e2psh_lmf.obj)
错误 43 error LNK2001: 无法解析的外部符号 ___kmpc_end_critical imsls_err.lib(flexlm.obj)
错误 44 error LNK2001: 无法解析的外部符号 ___kmpc_end_critical imsls_err.lib(e1lock.obj)
错误 45 error LNK2019: 无法解析的外部符号 ___kmpc_flush,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 46 error LNK2019: 无法解析的外部符号 ___kmpc_set_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 47 error LNK2019: 无法解析的外部符号 _omp_set_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 48 error LNK2019: 无法解析的外部符号 ___kmpc_unset_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 49 error LNK2019: 无法解析的外部符号 _omp_unset_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 50 error LNK2019: 无法解析的外部符号 ___kmpc_init_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 51 error LNK2019: 无法解析的外部符号 _omp_init_nest_lock,该符号在函数 _E1LOCK 中被引用 imsls_err.lib(e1lock.obj)
错误 52 fatal error LNK1120: 11 个无法解析的外部命令 Debug\Console1.exe