MFC發布 release 版應用程式

2021-07-03 03:41:42 字數 467 閱讀 8199

問題:vs2010 c++編寫的程式在別人的機子執行不了,缺少mfc100u.dll ***100d.dll等的解決方法

解決方法:

將這些dll打包,和應用程式一起發布;

採用mfc靜態編譯;

附1:vs2010中靜態編譯設定方法

使用vs2010編譯的程式在windows xp中執行時 經常會出現找不到 相關的dll檔案,我們可以使用靜態編譯的方法把這些執行依賴檔案打包到*.exe中來,以減少對環境的依賴。

一般可以配置一下兩項:

專案 -> 配置屬性->常規->mfc的使用 :在靜態庫中使用mfc。

專案 -> 配置屬性->c/c++->**生成->執行庫 :選擇/mt。

附2:什麼是靜態編譯

靜態編譯,就是編譯器在編譯可執行檔案的時候,將可執行檔案需要呼叫的對應動態鏈結庫(.so)中的部分提取出來,鏈結到可執行檔案中去,使可執行檔案在執行的時候不依賴於動態鏈結庫

除錯Release發布版程式的Crash錯誤(一)

非常感謝作者提供了乙個系統的解決方案 在windows平台下用c 開發應用程式,最不想見到的情況恐怕就是程式崩潰,而要想解決引起問題的bug,最困難的應該就是除錯release版本了。因為release版本來就少了很多除錯資訊,更何況一般都是發布出去由使用者使用,crash的現場很難保留和重現。本文...

除錯Release發布版程式的Crash錯誤(一)

在windows平台下用c 開發應用程式,最不想見到的情況恐怕就是程式崩潰,而要想解決引起問題的bug,最困難的應該就是除錯release版本 了。因為release版本來就少了很多除錯資訊,更何況一般都是發布出去由使用者使用,crash的現場很難保留和重現。本文將給出幾個解決方案,完成對 rele...

除錯Release發布版程式的Crash錯誤(五)

當我們把自己的release版本程式發布出去以後,一般都是在使用者的機器上執行。這種情況下,對於第四種方案,因為需要pdb檔案才能夠正確生成 堆疊呼叫的函式行號及 行號,因此方案四隻適用於本地release版的除錯,否則只能生成不完整的堆疊資訊。對於前三種方案,其實只需要使用者告知崩潰 位址,然後在...