2008-12-08 79 views

回答

11

很有可能您正在鏈接C/C++運行庫的DLL版本。轉到項目屬性 - > C++ - >代碼生成,並將運行時庫設置爲而不是是「DLL」類型之一。

或者,您可以鏈接到DLL運行時,但必須使用應用程序重新分配運行時。

MSDN對C++應用程序部署的各個方面的詳細信息:http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx

此外,Dependency Walker (depends.exe)將顯示哪些庫可執行文件依賴。它還附帶一些Visual Studio版本。

+0

謝謝將Runtime Library設置爲:「多線程調試(/ MTd)」,它現在可以工作 – 2008-12-08 09:54:37

3

歡迎來到應用程序部署的美妙世界。

在您的可執行文件上運行工具取決於,它會告訴您需要將哪些DLL與您的EXE一起復制。

1

嘗試在發佈模式下編譯,並確保所有必需的DLL都安裝在目標機器上。這個對我有用。

2

只運行C運行時和C的發行版本的計算機上++標準庫dll安裝在Windows默認。安裝Visual Studio將另外安裝調試版本。

確保您部署的版本完全以發佈模式構建。

5

你的意思是爲什麼需要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++庫。

相關問題