回 帖 发 新 帖 刷新版面

主题:[讨论]关于动态连接库的问题

各位大侠,我编了一个子程序:
      SUBROUTINE SUB()
    !DEC$ ATTRIBUTES DLLEXPORT :: SUB
       implicit none
       write(*,*)'This is a subroutine.'
    END
在用CVF编译时,project类型为动态连接库,用Build编译时,只得到DLL型文件,没有LIB文件.不知道为什么. 请大家分析分析,这是为什么.谢谢了.

回复列表 (共5个回复)

沙发


lib是静态库呀,到底要静态还是动态?

板凳

[quote]
lib是静态库呀,到底要静态还是动态?[/quote]
lz问的是dll的导出库lib
有dll和def可以自己生成

3 楼


2楼的大侠,请问怎么由dll和def生成动态连接库用的LIB呢? 谢谢了.

4 楼

[quote]
2楼的大侠,请问怎么由dll和def生成动态连接库用的LIB呢? 谢谢了.[/quote]
进入VS命令行
lib /machine:x86 /def:a.def /out:a.lib

5 楼


[size=3]谢谢,2楼的大侠.昨天,我又检查了一下,发现了问题所在.问题的分析,解决过程具体如下:
    我提出的问题:在用CVF编译时,project类型为动态连接库,用Build编译时,只得到DLL型文件,没有LIB文件,是我用笔记本电脑编译时遇到的,在使用台式机编译时则没有.起初,我以为是版本不同,导致结果不同.后来发现不是.
     原来,笔记本上使用的程序有些错误:把"!DEC$ ATTRIBUTES DLLEXPORT :: SUB
"中ATTRIBUTE之后的字母"s"漏了.更正之后,重新编译,两个类型的文件就都有了.
   2楼的大侠提到,"进入VS命令行",能否解释一下,什么是VS? 谢谢.
   [/size]

我来回复

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