我的C ++ DDL在新版本上需要MSVCR100.DLL,而在前一版本上则不需要

时间:2015-11-26 01:16:14

标签: c++ .net dll static-linking msvcr100.dll

我之前使用Visual Studio 2010开发了一个C ++ / CLI动态库项目,我将其用作Adobe Air应用程序上的ANE。以前版本的DLL过去与开箱即用的Windows 7和Windows 7 SP1兼容(没有安装任何其他东西)。现在,在新版本上,当我在三个Windows 7 SP1上测试时,出现了一个错误,提到当前计算机上没有安装MSVCR100.DLL。我没有改变项目的任何内容,但主要的.cpp文件,所以我不明白这是怎么回事。

在新版本中使用(添加)了以下命名空间:

  • 使用命名空间System :: Diagnostics;
  • 使用命名空间System :: Net :: Sockets;
  • 使用命名空间System :: Threading;

在新版本中使用(添加)了以下类:

  • 的NetworkInterface
  • 系统::类别:: IEnumerator的
  • IPInterfaceProperties
  • GatewayIPAddressInformationCollection
  • GatewayIPAddressInformation
  • AddressFamily ::互联网络
  • UnicastIPAddressInformation
  • 的ProcessStartInfo
  • 过程
  • ThreadCommand
  • 的ThreadStart

这些类中的一个是否可以使我的DLL需要在计算机上安装MSVCR100.DLL?为什么DLL开始需要MSVCR100.DLL?有人知道吗?

我尝试将运行时库从多线程DLL(/ MD)更改为多线程(/ MT),因为有很多帖子发表评论,但是当尝试在Visual Studio上构建时,会出现以下错误:'/ clr'和'/ mtd'命令行选项不兼容。所以这个选项不可行。

如果有人能告诉我如何解决这个问题,我会非常感激。当然,解决方案不能是安装C ++ 2010 Redistributable。我需要它是一个干净的解决方案,对我的最终用户没有额外的要求。

0 个答案:

没有答案