我已经使用Visual Studio 11 Beta开发了一个应用程序。该应用程序将无法在没有安装VS11 Beta的计算机上运行...
我已经安装了.NET Framework4.5,但它没有帮助...
有没有人有什么建议,我应该安装或添加的文件,以使其工作在任何没有VS11的计算机上?
发布于 2012-06-02 21:01:45
如果您在使用Visual Studio创建新的C++应用程序时创建新项目,则默认情况下,此项目会将选项设置为/MD以进行发布配置或将/MDd设置为调试。“使用此选项编译的应用程序静态链接到MSVCRT.lib。此库提供允许链接器解析外部引用的代码层。实际工作代码包含在MSVCR*.DLL中,它必须在运行时可用于通过MSVCRT.lib链接的应用程序。”
您需要做的是,转到项目设置,配置属性-> C/C++ ->代码生成,并将运行时库更改为多线程(/MT)调试/多线程调试(/MTd)调试。这将导致运行时库被静态链接,并且您的应用程序将不会尝试在运行时加载该DLL。
检查运行时依赖关系的好方法是使用
你构建你的应用程序,只需将你的应用程序( MSVCR110.DLL )拖放到其中,它就会向你显示它的依赖项,你现在可能会在那里看到.exe。当您将运行时库的使用更改为/MT时,请重新构建您的应用程序,并检查此依赖是否真的消失了:)
https://stackoverflow.com/questions/10862156
复制相似问题