0

我之前使用 Visual Studio 2010 开发了一个 C++/CLI 动态库项目,我将它用作 Adob​​e Air 应用程序上的 ANE。以前版本的 DLL 用于开箱即用地与 Windows 7 和 Windows 7 SP1 兼容(无需安装任何额外的东西)。现在,在新版本上,当我在三个Windows 7 SP1上测试它时,出现一个错误,提示当前计算机上没有安装MSVCR100.DLL。除了主 .cpp 文件之外,我没有更改项目中的任何内容,所以我不明白这是怎么回事。

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

  • 使用命名空间 System::Diagnostics;
  • 使用命名空间 System::Net::Sockets;
  • 使用命名空间系统::线程;

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

  • 网络接口
  • System::Collections::IEnumerator
  • IP接口属性
  • 网关IP地址信息集合
  • 网关IP地址信息
  • AddressFamily::InterNetwork
  • 单播IP地址信息
  • ProcessStartInfo
  • 过程
  • 线程命令
  • 线
  • 线程启动

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

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

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

4

0 回答 0