51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3291|回复: 2
打印 上一主题 下一主题

[原创] LR调用VS2005生成的DLL

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-8-18 14:26:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情

    2016-12-30 10:59
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2008-8-18 14:55:27 | 只看该作者
    顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-8-18 17:26:15 | 只看该作者
    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.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-20 17:31 , Processed in 0.064102 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表