我有以下問題:我使用Microsoft Visual Studio 2012,它將msvcp110.dll添加到我的發行版中。我在這裏和那裏閱讀了一些帖子,我知道這是由於我使用iostream和字符串並將其鏈接到我的程序所導致的。在我的電腦上使用此功能沒有任何問題,但我想將其展示給其他人。所以我的問題是,我如何儘可能無痛地解決問題,並仍然使用一些基本的標準物品?我知道其他人可能只是安裝Visual Studio Runtime的東西,但這很痛苦。msvcp110.dll,我該如何解決它?
回答
如果您打算保留您的應用dynamically-linked,您的最終用戶需要安裝Visual C++ Redistributable for Visual Studio 2012。
這是提供應用程序,原因如下的首選方式:
- 二進制大小 - 您的應用程序二進制文件會小一些,因爲庫函數不掛
- 安全 - Microsoft可再發行的DLL可以通過Windows Update進行更新。如果在其中一個庫中發現漏洞,他們可以修復它,並且所有動態鏈接的程序立即不再受到攻擊。
- 內存佔用 - 如果多個進程都使用同一個DLL,則只需將其加載到(只讀)內存一次。所有進程在內存中共享DLL文本的副本,從而減少進程的總體內存使用量。
或者,你可以statically link您的可執行文件。通過在Visual Studio中更改程序的構建選項來實現此目的。
在Visual Studio 2010中,這是下配置屬性>C/C++>代碼生成>運行時庫。
默認(/MD
//MDd
)告訴VS違背自己的運行時DLL鏈接。
靜態鏈接,你想這個改變的非DLL選項之一(/MT
//MTd
)確保選擇正確的調試/非調試版本(在開關的小d
)。
參見:
謝謝你的回答!我知道最終用戶應該有這樣做才能讓事情變得更快,但目前這是一個小程序,我只想將它發送給幾個人。但回到問題 - 我選擇了截圖中的選項,但它仍然無法正常工作。我錯過了什麼?這是我的[代碼生成窗口](http://i.imgur.com/byqKHC5.png)。 –
你有沒有改變它?它仍然設置爲DLL。你想'多線程(/ MT)'。我會重新回答我的答案。 –
啊,我明白了 - 感到困惑。我會檢查明天是否有效,現在是我去睡覺的時候了。感謝幫助! –
- 1. MSVCP110.dll丟失
- 2. setText()與com.gc.materialdesign.views.ButtonRectangle,我該如何解決它?
- 3. Enumbody錯誤我該如何解決它?
- 4. Broken CSV,我該如何解決它?
- 5. DLL如何解決它的IAT?
- 6. MSVCP110.dll丟失錯誤
- 7. 我該如何解決java.sql.BatchUpdateException?
- 8. 我該如何解決brut.androlib.AndrolibException
- 9. 我該如何解決SQL
- 10. 我該如何解決OnClickListener1
- 11. 我該如何解決
- 12. 我該如何解決'android.content.ActivityNotFoundException'?
- 13. System.Data.DataRowView我該如何解決
- 14. 我該如何解決NullPointerException?
- 15. DLL依賴於curllib.dll - 我該如何解決這個問題?
- 16. Joomla - 網站解析錯誤 - 我該如何解決它?
- 17. 該程序無法啓動,因爲它缺少MSVCP110.dll與C++應用程序
- 18. 爲什麼我收到這個FileNotFoundException,我該如何解決它?
- 19. MPI_Allgather我的代碼瓶頸,我該如何解決它?
- 20. 爲什麼IE忽略我的CSS,我該如何解決它?
- 21. TListView.Clear凍結我的應用程序,我該如何解決它?
- 22. TypeInitializationException在我的單例中。我該如何解決它?
- 23. 我的OpenAL框架壞了,我該如何解決它? (OSX Lion)
- 24. 爲什麼我得到一個ClassCastException,我該如何解決它?
- 25. 我該如何解決我的NullPointerException?
- 26. 我該如何解決我的碰撞?
- 27. 我該如何解決我的Python數獨解決者錯誤?
- 28. 如何添加到日期列表?它被覆蓋。我該如何解決它?
- 29. Xcode不工作 - 我該如何解決它?
- 30. debian 8:deb命令未找到。我該如何解決它?
或者你可以使用靜態鏈接。 – user2802841