2012-05-06 37 views
8

我決定嘗試Visual Studio 11,得出結論說我不喜歡它並立即卸載它。看來我的舊項目中有一些現在會因爲下面的錯誤而崩潰。Visual Studio 11和處理msvcr110.dll

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

不幸的是我對問題的理解到此爲止,我已經遇到的解決方案似乎表明改變運行時庫多線程這將導致更多的錯誤,我不具備的知識或耐心處理。

總之問題是,我怎麼可以撤消的Visual Studio 11中所做的更改,不管他們是。

+2

卸載VS2012肯定會刪除該DLL。它是CRT的調試版本,僅包含在VS中。用於調試C或C++程序。聽起來你知道有些程序員像VS2012一樣做了無法形容的事情,他們部署了程序的Debug版本。非常不好的做法,正是由於這個原因禁止複製msvcr110d.dll。 –

回答

3

那一個是從微軟VS一個DLL 2011/2 qutoing從http://www.rhyous.com(它談論msvcrt100.dll但它的原理相同):

「這msvcr100.dll是Microsoft Visual C++可再發行這是需要使用Visual Studio 2010中的DLL建項目的dll 字母拼出了這一點。MS =微軟,V =視覺,C = C程序語言 ,R =運行時,100 =版本「

如果你在Visual Studio 2010中創建一個C++項目,這個文件可能是需要的。 您需要安裝MS可再發行,但似乎這還不可用 看到這個線程 - http://social.msdn.microsoft.com/Forums/en-US/parallelcppnative/thread/8963c3d9-26ec-4748-af95-7c696a27c431

我猜你的編譯器仍然是VS2011之一,這就是爲什麼你的程序取決於vs2011的DLL ..

3

您需要將每個項目的「Platfrom Toolset」屬性從v110降級到v100(或v90)。

要更改項目的工具集 在Visual Studio中,在Solution Explorer中,打開快捷菜單爲您的項目,然後選擇屬性。

在屬性頁對話框,打開配置下拉列表,然後選擇所有配置。

在對話框的左側窗格中,展開「配置屬性」,然後選擇「常規」。

在右窗格中,選擇平臺工具集,然後選擇從下拉列表中選擇所需的工具集。例如,如果要使用Visual Studio 2010工具集進行編譯,請選擇Visual Studio 2010(v100)。

選擇確定按鈕。

+1

這解決了我在OpenCV和VS 2012中遇到的問題。非常感謝。 –

7

正如Hans Passant的評論所述,Microsoft不允許將調試dll重新發布;它們僅在安裝Visual Studio時可用。

即使您能夠重建項目作爲發佈版本,當您嘗試運行項目時,您可能會遇到新的問題,即缺少mvcr110.dll

在這種情況下,無需安裝Visual Studio,您可以從Microsoft獲得缺少的dll。 微軟提供這些可再發行DLL下載安裝位置:

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

運行相應的安裝程序。

VSU3 \ vcredist_arm.exe,VSU3 \ vcredist_x64.exe,VSU3 \選擇vcredist_x64.exe

+0

+1;對於noobs(我)提示 - 即使你的操作系統是x64,你可能需要x86(也許是因爲我的CPP是針對win32的?不知道) – fiat