byt*_*e77 30 c++ dll visual-studio visual-studio-2012 visual-c++-runtime
问题
我正在使用Visual Studio 2012来开发C++ DLL.在某些机器上,无法加载这些DLL,因为缺少设置为"v110"的平台工具集.
我试图安装较旧的c ++运行时.它们没有安装,因为"已经安装了一个较新的版本".我还安装了当前的Windows SDK,但仍然没有其他项目可供选择而不是v110.
题
如何使用旧版本的C++运行时编译我的C++ DLL,以便它可以在非开发人员的机器上运行?

Rog*_*mbe 23
根据MSDN上的此页面,您需要具有相应版本的Visual Studio(2008或2010),或者"Platform Toolset"的相关Windows SDK下拉列表以列出这些版本:
要更改目标平台工具集,必须安装相关版本的Visual Studio或Windows Platform SDK.
您还似乎在"Platform Toolset"之间有点混淆,它控制着哪个编译器/链接器/等.用于构建应用程序,以及运行应用程序所需的"Visual C++ Redistributable" .您无法在用户的PC上安装"平台工具集",也无法通过在开发PC上安装特定的"Visual C++ Redistributable"来提供"平台工具集".
另外,据我所知,Visual C++ Redistributable不包含MFC运行时.它们可作为单独的MSI合并模块(MSM)使用.
我想分享一些我遇到的信息,并想出如何将它们用于我的目的.
显然,使用静态链接是一个不错的选择.它并不总是对我有用,但对于我的一个较小的项目,它的效果非常好.并且结果是除了之外没有依赖性的DLL kernel32.dll.
只需/MT用于发布配置和/MTd调试,你就可以了.
这里的问题是像我这样的开发人员在发布后不久就获得了当前的Visual Studio版本,但是你真的不能指望普通用户安装只有几周的运行时版本.并且安装不同版本的Visual Studio只是为了使用旧的运行时绝对不是你想要的.

| 归档时间: |
|
| 查看次数: |
46455 次 |
| 最近记录: |