我寫過一個使用GLUT,OpenGL和FMOD的遊戲。問題在於二進制文件無法運行,除非在計算機上安裝了Visual Studio 2008。爲什麼我的程序不能運行,除非安裝Visual Studio 2008?
這是爲什麼?
我寫過一個使用GLUT,OpenGL和FMOD的遊戲。問題在於二進制文件無法運行,除非在計算機上安裝了Visual Studio 2008。爲什麼我的程序不能運行,除非安裝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版本。
您是否依賴於調試庫?
歡迎來到應用程序部署的美妙世界。
在您的可執行文件上運行工具取決於,它會告訴您需要將哪些DLL與您的EXE一起復制。
嘗試在發佈模式下編譯,並確保所有必需的DLL都安裝在目標機器上。這個對我有用。
This program可以幫助你找到的DLL(如果有的話)缺少的,它不會對
只運行C運行時和C的發行版本的計算機上++標準庫dll安裝在Windows默認。安裝Visual Studio將另外安裝調試版本。
確保您部署的版本完全以發佈模式構建。
你的意思是爲什麼需要Microsoft Visual C++ 2008 Redistributable Package (x86)?
這個軟件包安裝運行時C運行時(CRT), 標準C++,ATL,MFC,OpenMP的的 組件和 MSDIA庫。對於庫, 支持並排側部署模型 (CRT,SCL,ATL,MFC,OpenMP的)它們是安裝在本地裝配 緩存,也稱爲WinSxS文件夾 ,在 版本的Windows操作系統的 的支持並排組件。
因爲它們沒有安裝在默認情況下所有的Windows,尤其是VS之前出廠的2008年
即使
cout << "Hello, World" << endl;
你需要一個庫,那些在這種情況下,標準C++庫。
謝謝將Runtime Library設置爲:「多線程調試(/ MTd)」,它現在可以工作 – 2008-12-08 09:54:37