繁体   English   中英

除非安装Visual Studio 2008,为什么我的程序不能运行?

[英]Why won't my program run unless Visual Studio 2008 is installed?

我写过一个使用GLUT,OpenGL和FMOD的游戏。 问题是二进制文件不会运行,除非在计算机上安装了Visual Studio 2008。

为什么是这样?

您很可能正在使用C / C ++运行时的DLL版本进行链接。 转到项目属性 - > C ++ - >代码生成,并将运行时库设置为不是 “DLL”类型之一。

或者,您可以链接到DLL运行时,但是您必须使用您的应用程序重新分配运行时。

MSDN提供了有关C ++应用程序部署各个方面的更多信息: http//msdn.microsoft.com/en-us/library/zebw5zk9.aspx

此外, Dependency Walker(depends.exe)将显示您的可执行文件所依赖的库。 它还附带了一些Visual Studio版本。

您的意思是为什么需要Microsoft Visual C ++ 2008 Redistributable Package(x86)

该软件包安装C Runtime(CRT),标准C ++,ATL,MFC,OpenMP和MSDIA库的运行时组件。 对于支持并行部署模型(CRT,SCL,ATL,MFC,OpenMP)的库,它们安装在支持并行程序集的Windows操作系统版本的本机程序集缓存(也称为WinSxS文件夹)中。

因为默认情况下它们并未安装在所有Windows上,尤其是VS 2008之前发布的那些。

即使是

cout << "Hello, World" << endl;

您需要一个库,在本例中是标准C ++库。

欢迎来到应用程序部署的精彩世界。

运行该工具取决于您的可执行文件,它将告诉您还需要与EXE一起复制哪些DLL。

该程序可以帮助您找到计算机上缺少哪些dll(如果有),它们将无法运行

默认情况下,Windows仅安装C运行时和C ++标准库dll的发行版本。 安装Visual Studio还将安装调试版本。

确保您正在部署的版本完全在发布模式下构建。

尝试在发布模式下进行编译,并确保在目标计算机上安装了所有必需的DLL。 这个对我有用。

你对调试库有依赖吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM