![]() |
#2
qfww2014-03-08 23:11
我承认是我太菜鸟了,没有仔细看那段内容
前几个是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把我的函数重新写一遍吧! |
网上有“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>