VC2008 ATL控件 去掉运行库依赖(转载)

48 篇文章 0 订阅

用VC++2008开发ATL COM控件,由于功能简单,为了能让控件不依赖于VC++运行库,做了下列设置:

1、设置“Use of ATL”为“Static Link to ATL”,这样就不需要ATL90运行库

2、第一步完成后编译,发现还依赖于MSVCR90(d).DLL,可先设置“Use of MFC”为“Use MFC in a Static Library”,然后编译,不用理会编译警告,然后再改回“Use Standard Windows Libraries”,再编译,就不依赖于MSVCR90.DLL了。

 

查看VC++工程,发现其原因是编译选项RuntimeLibrary默认是3(MFC 动态),经过改动后就变为1,所以该问题实际上是VC++界面上的选型和实际默认值不一样,以上的第2步不需要多次编译应该也行,只需要先改为“Use MFC in a Static Library”,点“应用”,然后马上改为“Use Standard Windows Libraries”,这样就把默认值改为显式指定了。

<Tool
                Name="VCCLCompilerTool"
                Optimization="0"
                AdditionalIncludeDirectories="&quot;$(IntDir)&quot;"
                PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL"
                MinimalRebuild="true"
                BasicRuntimeChecks="3"
                RuntimeLibrary="3"  --->  1
                UsePrecompiledHeader="2"
                WarningLevel="4"
                DebugInformationFormat="4"
            />

 

第2步的方法其实是绕开VC++2008的一个BUG,原文地址在 http://gccfeli.cn/2010/03/vs2008-msvcr90-dll-dependency-resolve.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值