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

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


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


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


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


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


   不過, 問題的最終解決,時間的持續投入和已有經驗的積累,缺一不可,相輔相成。高效程序員的自我修煉
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章