社区
进程/线程/DLL
帖子详情
VS2005下DLL依赖性的去除方法?
crystal_heart
2008-03-27 12:20:03
由向导生成的一个win32普通的DLL工程,编译之后依赖到msvcr80.dll/msvcr80d.dll,如何才能去掉这个依赖?
之前用VS2003的时候好像就没有看到这个依赖dll,非常的奇怪。
...全文
1106
6
打赏
收藏
VS2005下DLL依赖性的去除方法?
由向导生成的一个win32普通的DLL工程,编译之后依赖到msvcr80.dll/msvcr80d.dll,如何才能去掉这个依赖? 之前用VS2003的时候好像就没有看到这个依赖dll,非常的奇怪。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zbh99999
2011-06-02
打赏
举报
回复
怎么还是看不到回复啊
barenx
2008-03-28
打赏
举报
回复
把编译环境 设置成控制台程序即可
lihongbin33
2008-03-28
打赏
举报
回复
注意查看选项 把需要的库编译到文件里而不是连接到文件即可!
cnzdgs
2008-03-27
打赏
举报
回复
在项目设置中先改成静态连接MFC,编译一下后再改回使用标准库。
arong1234
2008-03-27
打赏
举报
回复
带d的表示是debug版本,你在发布时不应该发布debug版本,而应该改成release版本编译发布(调试时用debug版本)
至于另外一个文件,这是要求在部署的机器上安装vc运行时和.net redistribution 包的,这个不安装是不行的
Dr.Yao
2008-03-27
打赏
举报
回复
说个最简单的办法
在项目属性中-> C/C++ -> 代码生成 -> 运行时库
使用 多线程/Mt 或者 多线程调试/Mtd 编译出来都不依赖动态链接库(MSVCR80(D).DLL for VC8)
而使用多线程DLL /MD 或者多线程DLL调试/MDd 编译出来则需要相应的动态链接库
在VC8中,如果使用/mt(d),编译出来的文件将会增大debug大约400多K,release大约50K
不过50K无所谓吧
如果你对这多出来的50K很不爽,或者真的有要求
你可以在release项目设置中使用/MD选项,并且做一些改变,使编译出来的程序动态链接
MSVCR.DLL
而不是 MSVCR80.DLL
具体做法如下:
从VC6中找来对应的库:MSVCRT.LIB/MSVCRTD.LIB(调试) ,注意,我指的是VC6的,VC8的名字一样但是版本完全不同的
你可以从网上找找下载过来,VC6的MSVCRT.LIB大约是231K
找来之后,放在你项目的随便一个目录中,然后在项目的连接选项里指定附加这个输入目录
这时你重新编译一下项目,可能会提示你很多诸如"error LNK2019: 无法解析的外部符号"之类的错误:
你需要关闭编译器的几个选项:
1.基本运行时检查 使用默认值
2.缓冲区安全检查 关闭
这样编译出来的程序你查看导入表使用的则是msvcr.dll,但是不推荐这么做...
判断
DLL
文件是Debug版或Release版
4. **依赖检查**:Debug版的
DLL
可能依赖于msvcrtd.
dll
(Debug版本的C运行时库),而Release版则依赖于msvcrt.
dll
(Release版本的C运行时库)。 在确保所有
DLL
文件都为Release版后,可以有效地优化程序性能并降低...
64位php_curl.
dll
文件
在IT领域,尤其是在Web开发中,我们经常遇到与服务器配置和环境兼容性相关的问题。本话题聚焦于在64位Windows 8系统上使用WAMP(Windows Apache MySQL PHP)服务器安装Magento时,解决PHP扩展curl缺失的问题。"64位...
Aspose Cells 4.4.3.1 for
VS
2005
3. **无
依赖性
**:这个版本去掉了SN(Software Serial Number,软件序列号),意味着开发者可以直接使用,无需安装Microsoft Excel,降低了部署的复杂性。 4. **模板应用**:Aspose.Cells允许用户加载Excel模板,并...
替换C#动态链接库引用,用来替换动态链接库的相互引用关系,去掉强签名请求。.rar
在.NET框架中,C#应用程序通常依赖于一组
DLL
(动态链接库)文件,这些文件包含了可重用的代码模块。当多个
DLL
之间存在相互引用时,可能会遇到一些问题,尤其是在处理强签名和版本控制时。标题和描述中提到的"替换C#...
VS
2005
下
DLL
依赖性
的
去除
方法
由向导生成的一个win32普通的
DLL
工程,编译之后依赖到msvcr80.
dll
/msvcr80d.
dll
,如何才能去掉这个依赖? 说个最简单的办法 在项目属性中-> C/C++ -> 代码生成 -> 运行时库 使用 多线程/Mt 或者 多线程调试/Mtd 编译...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章