| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:用VB如何输出标准DLL,按照网上方法尝试,还是无法成功
只看楼主 加入收藏
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
 问题点数:0 回复次数:2 
用VB如何输出标准DLL,按照网上方法尝试,还是无法成功
网上有“VB无所不能之五:建立“标准”DLL动态链接库文件”的文章,我是按照这个文章进行编译的,所有步骤都是小心翼翼仔细检查过,bat文件里面的文件名和路径都按照我的实际情况作了对应修正,然而还是无法正常的编译成功,提示的错误信息如下,有哪位大侠可以帮忙

c:\abc>xx.bat

c:\abc>cd c:\Program Files\Microsoft Visual Studio\VB98

c:\Program Files\Microsoft Visual Studio\VB98>link2.exe "c:\abc\Class1.obj" "c:\
abc\Module1.obj" "c:\abc\adocon.obj" "C:\Program Files\Microsoft Visual Studio\V
B98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:mm /EXPORT:mathadd /EXPORT:rit /OUT:"c:\a
bc\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERS
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK2 : warning LNK4044: unrecognized option "VERS"; ignored
adocon.obj : warning LNK4104: export of symbol "DllUnregisterServer" should be P
RIVATE
adocon.obj : warning LNK4104: export of symbol "DllGetClassObject" should be PRI
VATE
adocon.obj : warning LNK4104: export of symbol "DllRegisterServer" should be PRI
VATE
adocon.obj : warning LNK4104: export of symbol "DllCanUnloadNow" should be PRIVA
TE
adocon.obj : error LNK2001: unresolved external symbol mathadd
adocon.obj : error LNK2001: unresolved external symbol mm
adocon.obj : error LNK2001: unresolved external symbol rit
c:\abc\ProjectOK.lib : fatal error LNK1120: 3 unresolved externals
LINK2 : fatal error LNK1141: failure during build of exports file

c:\Program Files\Microsoft Visual Studio\VB98>
搜索更多相关主题的帖子: 文章 Microsoft 如何 网上 动态 
2014-03-08 22:21
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
得分:0 
我承认是我太菜鸟了,没有仔细看那段内容
前几个是warning,可以不用管
后3个是error,是需要将我的输出函数放在export后面的,并将他的函数删除。好了,修正之后,的确编译通过,并生成了DLL文件

c:\abc>xx.bat

c:\abc>cd c:\Program Files\Microsoft Visual Studio\VB98

c:\Program Files\Microsoft Visual Studio\VB98>link2.exe "c:\abc\Class1.obj" "c:\
abc\Module1.obj" "c:\abc\adocon.obj" "C:\Program Files\Microsoft Visual Studio\V
B98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:conado /EXPORT:conbankuai /OUT:"c:\abc\Pr
ojectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERS
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK2 : warning LNK4044: unrecognized option "VERS"; ignored
adocon.obj : warning LNK4104: export of symbol "DllUnregisterServer" should be P
RIVATE
adocon.obj : warning LNK4104: export of symbol "DllGetClassObject" should be PRI
VATE
adocon.obj : warning LNK4104: export of symbol "DllRegisterServer" should be PRI
VATE
adocon.obj : warning LNK4104: export of symbol "DllCanUnloadNow" should be PRIVA
TE
   Creating library c:\abc\ProjectOK.lib and object c:\abc\ProjectOK.exp

然后,在我的exe工程中declare,按照step by step方式调试运行,当执行到DLL的函数时,VB瘫了。

所以呢,我死心了,用这种方式输出DLL就算在VB里面调试通过了,放到其他程序里面调用也是存在很大的兼容性。该干嘛干嘛去,还是用VC把我的函数重新写一遍吧!
2014-03-08 23:11
qfww
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-3-8
收藏
得分:0 
在CSDN里面有相关的讨论,有人说,这个问题讨论10多年了,没有必要讨论了!

见CSDN的相关帖子

http://bbs.

http://bbs.
2014-03-08 23:14
快速回复:用VB如何输出标准DLL,按照网上方法尝试,还是无法成功
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved