2014-02-22 38 views
0

我想分享一個我在VS2010中使用C++編寫的簡單程序,但在另一臺計算機上運行時出現錯誤。這是錯誤信息:在另一臺計算機上運行C++可執行文件時涉及到dll的錯誤

程序無法啓動,因爲您的 計算機中缺少MSVCR100D.dll。嘗試重新安裝程序來解決這個問題。

我有DLL在同一個文件夾,因爲我認爲這會解決它。我正在使用調試可執行文件,而另一臺計算機沒有安裝VS2010,這是我認爲會導致問題的原因。

任何人有任何解決方案?

+0

簡單搜索「MSVCR100D.dll從您的計算機中丟失」在SO這裏出現了許多以前的問題;答案清楚地解釋了問題(和解決方案)。在發佈新內容之前,請至少做一些基本的工作來搜索現有的問題。它可以降低噪音和雜波,並減少重複勞動。它還可以更快地爲您提供解決方案。謝謝。 –

+0

首先,如果要在未安裝Visual Studio的計算機上運行程序,您需要構建零售版而非調試版。 –

回答

0

目標機器需要安裝Visual C++ 10.0的可再發行組件包。從這裏下載:

http://www.microsoft.com/en-us/download/details.aspx?id=5555

您也可以考慮閱讀MSDN的這一部分,以瞭解更多有關部署的過程:

http://msdn.microsoft.com/en-us/library/zebw5zk9(VS.100).aspx


編輯:

似乎我錯過了DLL名稱中的那個小'd'。儘管這個解決方案在MSVCR100.dll(發行版本)的情況下會有所幫助,但它不會幫助您調試應用程序所針對的調試版本。這是因爲調試DLL不包含在redist包中 - 它們僅隨Visual Studio提供。

所需的DLL(發佈版本)被放置在(VSInstallDir)\ VC \ REDIST(平臺)\ Microsoft.VC100.CRT

他們的調試版本可以在(VSInstallDir)\ VC \ REDIST \ Debug_NonRedist找到(平臺)\ Microsoft.VC100.Debug.CRT。

但是,我不認爲努力運行調試版本是一個很好的解決方案。提供發佈版本可能是你應該做的。

+0

我不認爲你可以重新分發c-runtime的調試版本。 –

+0

哦,我最後錯過了'd'。如果沒有安裝VS,運行版本與CRT的調試版本相連實際上是不可能的。 –

相關問題