1. 程式人生 > >關於直接開啟ICE demo的exe檔案的錯誤提示“無法啟動此程式,因為計算機中丟失MSVCP100D.dll.”

關於直接開啟ICE demo的exe檔案的錯誤提示“無法啟動此程式,因為計算機中丟失MSVCP100D.dll.”

    初看這個問題一般來說是exe程式缺少對應的dll檔案!可是本機的windows/systemWOW64中明明就有這個dll檔案,偶然得知ICE的demo在Visual Studio編譯器下進行除錯時只能用MDd模式,即多執行緒除錯dll,其生成的exe檔案的過程中就需要c++編譯器的Code Generation 的Runtime Libary版本的dll,此dll就是MSVCP100d.dll,這就解釋了為什麼在vs編譯環境下執行ice demo程式能夠成功,直接在該demo的工程目錄下執行exe卻不能夠成功而提示如標題所示的錯誤了(在目錄下直接執行,根本就沒有VS的編譯環境),解決辦法,將該ICE demo的在release模式下執行,此時發現該demo的工程屬性中的執行庫模式為MD了,release模式下編譯成功後,直接在資料夾執行demo的exe不再報標題那樣的錯誤了,分析,MDd模式下,程式呼叫的是VS編譯的標準庫的除錯版,裡面包含了debug模式下的除錯資訊,而在MD模式下,程式呼叫的是VS編譯環境的標準版,不帶除錯資訊,因此可以推測在demo目錄下執行對應的exe時,根據當前的配置,是無法呼叫vs編譯環境帶除錯資訊的標準版庫,但是卻可以呼叫vs編譯環境不帶除錯資訊的標準版庫。