Fortran Coder

查看: 10660|回复: 4
打印 上一主题 下一主题

[数学库] IMSL缺失lib,不知道缺失的是哪个

[复制链接]

35

帖子

16

主题

0

精华

专家

F 币
402 元
贡献
396 点
跳转到指定楼层
楼主
发表于 2021-3-3 21:55:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 石子 于 2021-3-3 21:56 编辑

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





分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩
欢迎交流

250

帖子

2

主题

0

精华

宗师

F 币
1731 元
贡献
872 点

规矩勋章

沙发
发表于 2021-3-3 22:27:49 | 只看该作者
你另找别人的例子吧,以前imsl例子的use语句就不对

54

帖子

0

主题

0

精华

实习版主

F 币
653 元
贡献
214 点

元老勋章新人勋章

QQ
板凳
发表于 2021-3-4 08:31:26 | 只看该作者
http://v.fcode.cn/video-use_library.html
这里有个视频教程看看~

35

帖子

16

主题

0

精华

专家

F 币
402 元
贡献
396 点
地板
 楼主| 发表于 2021-3-4 09:07:15 | 只看该作者
布衣龙共 发表于 2021-3-4 08:31
http://v.fcode.cn/video-use_library.html
这里有个视频教程看看~

感谢
欢迎交流

35

帖子

16

主题

0

精华

专家

F 币
402 元
贡献
396 点
5#
 楼主| 发表于 2021-3-4 10:50:37 | 只看该作者
按照视频教程中的内容,在文件前面加了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这行不能正常运行呢?

欢迎交流
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 10:26

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表