簡體   English   中英

使用VS2013編譯的應用程序需要VS2005運行時

[英]Application compiled with VS2013 wants VS2005 runtime

我有同時安裝VisualStudio 2005和VisualStudio 2013的環境。 我在某些項目中遇到了奇怪的情況。 我用VS2013編譯了此類項目,當我嘗試通過資源管理器或命令行啟動它們時,出現錯誤-“該程序無法啟動,因為缺少MSVCR80.dll ...”。 使用msvcr120進行編譯時,為什么要使用msvcr80?

我試過的

  1. 將msvc * 80.dll放入具有可執行文件的目錄。 我收到運行時錯誤“ R6034。應用程序嘗試錯誤地加載C運行時庫...”

  2. 使用Dependency Walker檢查二進制依賴性。 我看到二進制文件對VS2013運行時具有依賴性,並且沒有提及msvcr80.dll

  3. 使用空路徑啟動二進制文件。 我沒有產生積極的影響。
  4. 在另一台“干凈”的PC上啟動了二進制文件。 它與vs2013運行時完全兼容。

怎么會這樣?

謝謝大家,您說得對。 我只是忘記了,我已經安裝了舊版本的產品。 它是在后台啟動的,並使用了舊版本的庫。 因此,當我運行我的新應用程序時,它嘗試使用已經加載了beed的庫。 通過另一種方式,Dependecy walker不會檢查已加載的庫,而只會查看PATH。

有關DLL加載的MSDN鏈接-https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682586( v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM