51Testing软件测试论坛

标题: LR调用VS2005生成的DLL [打印本页]

作者: jetqu    时间: 2008-8-18 14:26
标题: LR调用VS2005生成的DLL
1. 问题描述:

最近要开发一个自动化测试的DLL文件,并用开发工具为VS2005,但是发现它不能在未安装VS2005的机器上进行调用,并运行。经过长时间转换调试,及搜索资料。现在解决方案如下:希望对其它人有所帮助。其也适用其其它C++调用相关的程序

2. 解决方案:

“因为没有msvcr80.dll
可以改一下编译选项 多线程dll(/MD)改成多线程(MT)这样就静态链接,
也可以从你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。”

方法一:
在Crogram FilesMicrosoft Visual Studio 8VCredi
stDebug_NonRedistx86Microsoft.VC80.DebugCRT 下找到了下列文件:

msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest

把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。

方法二:
VS2005 项目属性-》配置属性修改“C/C++/Code Generation”中的运行时库选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
作者: iori    时间: 2008-8-18 14:55
顶一个
作者: sqlserveroracle    时间: 2008-8-18 17:26
yeah.Good way to resolve the dll problem due to the objective machine don't setup vs2005.
but i want to say: the **d.dll is just debug library,if no need to debug the application,
you should copy the release library to objective machines or the your program statically compile and link that library.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2