首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB编译基准DLL

2013-09-28 
VB编译标准DLLhttp://webservices.ctocio.com.cn/net/308/9415308.shtml我按照这个来做了,可是到了最后一

VB编译标准DLL
http://webservices.ctocio.com.cn/net/308/9415308.shtml


我按照这个来做了,可是到了最后一步编译。提示:

d:\Program Files (x86)\Microsoft Visual Studio\VB98>link2.exe "D:\abc\Class1.obj" "D:\abc\Module1.obj" "D:\abc\Project1.obj" "d:\Program Files (x86)\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:mm /EXPORT:mathadd /EXPORT:rit /OUT:"D:\abc\ProjectOK1.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
Project1.obj : warning LNK4104: export of symbol "DllUnregisterServer" should be PRIVATE
Project1.obj : warning LNK4104: export of symbol "DllGetClassObject" should be PRIVATE
Project1.obj : warning LNK4104: export of symbol "DllRegisterServer" should be P
RIVATE
Project1.obj : warning LNK4104: export of symbol "DllCanUnloadNow" should be PRIVATE
Project1.obj : error LNK2001: unresolved external symbol mathadd
Project1.obj : error LNK2001: unresolved external symbol mm
Project1.obj : error LNK2001: unresolved external symbol rit
D:\abc\ProjectOK1.lib : fatal error LNK1120: 3 unresolved externals
LINK2 : fatal error LNK1141: failure during build of exports file


这是为什么啊? vb
[解决办法]
其实用他这个方法,我觉得那个“假 Link.exe”应该这样做好些:

新建一个 标准EXE工程。
移除 Form1(不用保存它)。
然后添加一个标准模块,加入下面这段代码:
Private Sub Main()
   Open "CmdLine.txt" For Output As #1
   Print #1, VBA.Command$
   Close
   MsgBox "现在可以拷贝OBJ文件了!", vbInformation
End Sub

然后编译成 Link.exe ,照他说的方法替换文件。

这样,在编译DLL文件时,把VB6所在目录内的 CmdLine.txt 打开,就能看到
用 /EXPORT:函数名 把函数列表加上(可以有几个),再全部复制下来,作为Link2.exe 的参数就行了。


只是他这种方法,用起来很麻烦,还不如用老马他们的那个“函数添加大师”。

热点排行