Fortran Coder

标题: IMSL缺失lib,不知道缺失的是哪个 [打印本页]

作者: 石子    时间: 2021-3-3 21:55
标题: IMSL缺失lib,不知道缺失的是哪个
本帖最后由 石子 于 2021-3-3 21:56 编辑

大家好,我在使用IMSL,按照Fcode网站上的帖子进行了安装和设置好了编译器,最后报错如下:error LNK2019: 无法解析的外部符号 _S_RAND_GEN,该符号在函数 _MAIN__ 中被引用        Source1.obj       
我的主程序是IMSL帮助文档中的,看帖子中的相关内容,是缺失lib,可是Lib文件夹下的内容很多,不知道缺失的是哪个,查了imsl相关的文档没有找到,请问应该怎么查找自己需要的是哪个Lib呢?谢谢大家






作者: necrohan    时间: 2021-3-3 22:27
你另找别人的例子吧,以前imsl例子的use语句就不对
作者: 布衣龙共    时间: 2021-3-4 08:31
http://v.fcode.cn/video-use_library.html
这里有个视频教程看看~
作者: 石子    时间: 2021-3-4 09:07
布衣龙共 发表于 2021-3-4 08:31
http://v.fcode.cn/video-use_library.html
这里有个视频教程看看~

感谢
作者: 石子    时间: 2021-3-4 10:50
按照视频教程中的内容,在文件前面加了include,头文件是Include文件夹下的,但是出现了错误
[Fortran] 纯文本查看 复制代码
include 'link_fnl_static.h'
    use lin_sol_gen_int
      use rand_gen_int
     
      implicit none
! This is Example 1 for LIN_SOL_GEN.
      integer, parameter :: n=32
      real(kind(1e0)), parameter :: one=1e0
      real(kind(1e0)) err
      real(kind(1e0)) A(n,n), b(n,n), x(n,n), res(n,n), y(n**2)
      integer::i,j
! Generate a random matrix.
      call rand_gen(y)
      A = reshape(y,(/n,n/))
! Generate random right-hand sides.
      call rand_gen(y)
      b = reshape(y,(/n,n/))
! Compute the solution matrix of Ax=b.
      call lin_sol_gen(A, b, x)
      do i=1,32
          do j=1,32
              print*,A(j,i)
          enddo
    enddo     
end

报错如下
错误        1         error LNK2005: "void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invalid_parameter@@YAXPBG00II@Z) 已经在 LIBCMTD.lib(invarg.obj) 中定义        LIBCMT.lib(invarg.obj)        

错误        2         error LNK2005: "void __cdecl _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invoke_watson@@YAXPBG00II@Z) 已经在 LIBCMTD.lib(invarg.obj) 中定义        LIBCMT.lib(invarg.obj)        

错误        3         error LNK2005: __call_reportfault 已经在 LIBCMTD.lib(invarg.obj) 中定义        LIBCMT.lib(invarg.obj)

等等

然后我删掉了include那行,把lib下的大部分文件名都加入到工程文件的link-input下面,程序可以正常跑了。只是不知道为什么我加的这个Include这行不能正常运行呢?






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