我已经看过SF的这两个链接,但他们没有帮助我:
.lib and .dll Backward Compatibility
我有一个C ++项目,它不是基于CLR。输出是一个DLL文件。现在我在Windows 8上并使用Visual Studio 2013来构建项目。输出DLL在Windows 8上工作正常。但是当我在窗口7中输入相同的输出DLL然后我得到错误,如“Missing DLL MSVCR120.DLL”我试图将丢失的DLL复制到Windows 7中的System32文件夹中,DLL丢失错误消息离开,但我的DLL仍然无法正常工作。只有当我在Windows 7上的Visual Studio 2010中构建源代码然后使用其输出DLL时才能正常工作。在Windows 7上,安装了C ++可再发行的运行时2010。我还尝试安装其他版本的C ++运行时但在Win 7上没有成功。
我是否可以不仅使用一台开发机器和一台视觉工作室来创建一个(甚至多个)C ++ DLL,它可以在大多数Windows版本中运行,如Vista,7,8,Server 2008等?现在我必须使用自己的VS在每个不同的操作系统上构建源代码。
PS:该项目是Windows凭据提供程序实现。
答案 0 :(得分:0)
可能有一些原因导致事情无法按预期发挥作用
我没有足够的声誉来发布两个以上的链接,所以搜索Dependency Walker
答案 1 :(得分:0)
您通常需要在使用DLL的所有计算机上安装VS2013 redistributable。
另一种方法是构建项目以与静态运行时库链接,但生成的可执行文件的大小会更大; this SO answer中的更多详细信息。