天天看點

應用程式正常初始化失敗0xc0150002 錯誤1. 問題的出現2. 分析原因3. 解決問題4.附件

1. 問題的出現

      編譯好的程式在本機上運作OK,但釋出到别人電腦上運作出現如下錯誤:

應用程式正常初始化失敗0xc0150002 錯誤1. 問題的出現2. 分析原因3. 解決問題4.附件

2. 分析原因

      出現該問題,一般是由缺少什麼庫檔案或者庫檔案不相容導緻的。我的開發環境為vs2008,并在程式釋出時放入了vs2008的運作庫(參考附件4.1)。編譯另外一個測試程式,在一樣的環境中運作,卻沒有問題。是以排除vs2008庫的問題。

      該問題可能出現在使用的庫上,如果使用的Lib和其dll檔案不一緻也有可能導緻該問題。我專門編寫一個測試程式,測試使用的Lib檔案。

      特别注意:如果依賴的一個lib檔案,如果不使用其方法,該lib檔案會被忽略。

3. 解決問題

      在測試程式中發現引用某一個庫時,問題重制了。說明與該庫有關,進一步分析是由于使用的lib檔案與dll檔案不一緻導緻的。 該庫做過更新,我使用新的dll檔案,但用了就的Lib庫。問題重制,替換新的lib庫重新編譯即可。

4.附件

4.1 提取vs2008運作庫

      vs2008編譯時如果使用/MD的形式生成,則需要vs2008運作庫(關于/MT與/MD的差別請直接百度)。一種方式,我們可以安裝vs的更新檔,另一種方式,直接在可執行檔案的同一目錄中放入依賴的運作庫。其運作庫一般在vs的按照目錄下的VC\redist,在該目錄中的檔案夾看其名就知道其意義,如果需要同時指出debug和release的程式,則将其子檔案中的所有dll檔案拷貝出來。

建議:安裝everything檔案搜尋工具,如有該工具,直接輸入redist即可找到vs的安裝目錄。

至于vs的其他環境,參考這個提取即可。

如有任何問題,請直接與我聯系:[email protected]

繼續閱讀