我写过一个使用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++库.