2016-04-30 62 views
-1

我問過類似話題,前幾天還我仍然沒有找到一個解決這個問題的未能分發C++編譯軟件

我已經建立了一些軟件,C++的一個問題,在的Windows 7的x86 PC,使用VISUAL C++ 2013, ,我從字面上沒有各種方式重新分配我的軟件... 我已經試過重新分配它在三個不同的PC

  • 一臺電腦運行Windows 10 x64
  • 一臺PC運行Windows 7 64位
  • 一臺PC運行Windows 7的x86

,並試圖運行targer電腦,我總是以同樣的錯誤結束了對軟件時: 缺少msvcp120.dll或msvcr120.dll

我試圖安裝Visual C++重新分配上的所有目標計算機, d idn't很好的幫助,也試過手動添加缺少的DLL到目標計算機系統文件和,但都沒能解決我的問題 它只是創造了一個新的錯誤

「的應用程序無法正常啓動(0x00007b )「

我真的不知道該如何解決這個問題......如果這裏有人可能想出解決方案來解決這個問題,我很樂意。

此外,如果在這裏的人誰已經在這個問題上的經驗可以給我關於重新發布的Visual C++編寫的程序的一些技巧,那將是巨大

提前感謝和問候, 伊泰。

+1

[相關](http://stackoverflow.com/questions/24726910/exe-gives-error-msvcp120-dll-is-missing-for-win7x64) – Zereges

+0

您正在複製錯誤的文件。當然,因爲你從c:\ windows \ system32 \而不是c:\ windows \ syswow64複製它們。只是[運行此](https://www.microsoft.com/en-us/download/details.aspx?id=40784) –

+0

正如我已經說過的,「我試過安裝Visual C++重新分發」,它什麼都沒做...,你是什麼意思,你從錯誤的目錄複製他們? @HansPassant – DrPrItay

回答

1

您可以使用靜態鏈接的運行時而不是動態鏈接的運行時構建應用程序(請參閱:https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx),這樣就不需要這些dll。

+0

啊,對不起,我的理解不夠,但我不知道你的鏈接指南對我有幫助...請問你能更具體嗎?,謝謝:) – DrPrItay

+1

msvcp120.dll和msvcrt120。當您使用運行時庫的動態版本時,dll被鏈接到。默認情況下啓用。你可以改變它,這樣你的應用程序將靜態鏈接到運行時庫。然後,它會將這個運行時代碼包含在您的應用程序中,然後不要求您將這些dll與您的應用程序一起分發。轉到項目屬性(在項目上單擊鼠標右鍵),選擇C/C++代碼生成。對於運行時庫,選擇/ MT或/ MTd(不帶dll)。 –

+0

啊好吧,但不應該加入我想鏈接的DLL? – DrPrItay