zoukankan      html  css  js  c++  java
  • VC2008 ATL控件 去掉运行库依赖

    用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

  • 相关阅读:
    5个示例带你学习AngularJS
    快速入门:十分钟学会Python
    Memcache知识点梳理
    用Phaser实现Flappy Bird 游戏
    7 个顶级的 HTML5 Canvas 动画赏析
    避坑宝典:如何选择HTML5游戏引擎
    电商平台10大商业与盈利模式
    【英文版本】Android开源项目分类汇总
    Android精品开源整理
    Android开源项目汇总【转】
  • 原文地址:https://www.cnblogs.com/rhcad/p/1743596.html
Copyright © 2011-2022 走看看