天天看點

對OCX或DLL進行DEPENDS walker圖示說明

     以前用DEPENDS walker對OCX或DLL進行依賴周遊,如果出現淺黃色驚歎号,代表缺失這個DLL。這次進行支援工作,發現出現淺紅色的圖示,選中相應紅色圖示展開後發現依賴的函數明顯不是所依賴庫應該提供的。

    出現這種錯誤很迷茫,不知道發生了什麼。問題是,編譯都能過,為什麼還出現這個問題呢?用VS2010自帶的dumpbin程式進行 exports 輸出依賴檔案,也直接顯示import address table就是錯誤的。

    研究了一天半時間,做了各種嘗試,将問題界定在連結的時間出現的問題,需要關注下編譯中出現的告警。遂将VS2010在編譯過程中出現的日志資訊打到詳細級别,最終修訂了/SAFESEH:NO 和/OPT:NOREF就解決了問題。

   此問題估計是ffmpeg的lib不能夠被裁減造成或與使用的其它庫沖突造成的。以後有時間再深入分析解決吧,過一關算一關。

   現在已過了什麼問題都想窮根問底的年齡,有時間可以投入更有價值的事情。。。。。

   不過, 問題的最終解決,時間的持續投入和已有經驗的積累,缺一不可,相輔相成。高效程式員的自我修煉