2012-07-24 85 views
1

我已經在CPP中使用Gecko/XULRunner v12創建了一個XPCOM DLL(它適用於v12),但是當我用v13或firefox的v14運行它時,我得到以下錯誤:原生dll模塊與此版本的Firefox不兼容

-Native module at path '...\PowerFoxDll.dll' is incompatible with this version of Firefox, has version 12, expected 14 

是否有可能XPCOM DLL XULRunner SDK不向後兼容?

有沒有辦法解決它? 我正在尋找一種解決方案,不需要重新編譯每個新版本的代碼。

+0

前段時間我寫過這個:https://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go – 2012-07-30 19:46:17

回答

0

不幸的是,你是對的。原生XPCOM插件和瀏覽器之間沒有向後(並且向前)的兼容性。您必須爲相應版本的XULRunner SDK編譯每個新版Firefox的代碼。因此,如果您想要獲得最新的解決方案,則必須每六週更新一次源代碼。 只有一種方法可以制定穩定的工作解決方案 - 使用JavaScript。谷歌的'js-ctypes' - 這個解決方案允許直接使用原生dll代碼到Firefox JavaScript擴展。