当前位置: 代码迷 >> VC >> release版本的manifest中Microsoft.VC80.DebugCRT行是如何来的,怎么去除
  详细解决方案

release版本的manifest中Microsoft.VC80.DebugCRT行是如何来的,怎么去除

热度:8669   发布时间:2013-02-25 00:00:00.0
release版本的manifest中Microsoft.VC80.DebugCRT行是怎么来的,如何去除?
安装了vcredist_x86.exe,release版本还是不能运行。
发现manifest文件中有一行:
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
手工去除后可运行。

问题是RELEASE版本,怎么会引入一个Debug版本的CRT,有什么办法确定其产生的原因或者如何去除么。
我是说每次编译时生成的文件中就不要包含这行,而不是每次编译后手工删除。
------解决方案--------------------------------------------------------
是不是运行库选择错了
带d的是调试,不带就是release
MT是连接到静态库,MD则是连接到DLL

MT就是说生成的可执行文件可以在没有运行库的机器上运行,如果是用MD则生成的可执行文件必需VC运行库——msvcrt.dll msvcrXX.dll等,其中XX代表运行库版本。


在静态库中使用MFC就选择/MT,动态库就选择/MD 
  相关解决方案