我試圖在Windows上使用MingW編譯實現Firefox上的NPAPI插件。在編譯過程中一切正常,但插件在Firefox中加載時效果不佳。例如,瀏覽器檢測插件的一些參數,例如名稱和作者,但它沒有正確獲取方法和屬性(當被javascript代碼調用時,它們不被識別)。該插件在Linux上沒有任何問題,但在Windows上沒有任何問題。Windows上的Firefox NPAPI插件
代碼:http://pastebin.com/eSDdxrMr
我試圖在Windows上使用MingW編譯實現Firefox上的NPAPI插件。在編譯過程中一切正常,但插件在Firefox中加載時效果不佳。例如,瀏覽器檢測插件的一些參數,例如名稱和作者,但它沒有正確獲取方法和屬性(當被javascript代碼調用時,它們不被識別)。該插件在Linux上沒有任何問題,但在Windows上沒有任何問題。Windows上的Firefox NPAPI插件
代碼:http://pastebin.com/eSDdxrMr
請記住,只是因爲它檢測到的插件名稱和MIME類型並不意味着它加載DLL;在Windows上,它們被存儲爲字符串資源。是否有任何入口點被調用?你的日誌文件是否被創建?
如果根本沒有任何入口點被擊中,請檢查以確保您實際導出它們;你有.def文件嗎?它的入口點是否正確?
FireBreath使用此爲.DEF:
這裏有窗戶的入口點:
看起來沒有任何東西被調用。日誌文件沒有創建,也沒有屬性可以得到。 – user670324
好的;所以看看我引用的文件,看看你是否可以找出DLL沒有被加載的原因。另一個常見的問題是如果你鏈接到一個.lib文件,需要一個DLL並且該DLL不在那裏。您經常可以通過使用「dependency walker」(depend.exe)找到對此的洞察,不過ieshims.dll通常在缺少時會顯示爲缺失。 – taxilian
這裏是一個版本,實際上啓用了語法高亮功能,以便您可以閱讀它:http://pastebin.com/TujgHnYS – taxilian