到目前为止,我一直试图让 Mac OS X 上的 Google Chrome (6.0.401.1 dev) 加载一个 NPAPI 插件,但没有成功。我一直在处理这里的 npsimple 示例:http://git.webvm.net/ ? p=npsimple 。
在 Mac 上使用 gcc 和在 Windows 上使用 VC++ 2008 我设法让它在 Mac OS X 上的 Safari 和 Firefox 以及 Windows 上的 Firefox 和 Google Chrome 上运行,但不能在 Mac OS X 上的 Google Chrome 上运行。
当尝试在 Mac OS X 上调试 Google Chrome 时,Google Chrome 似乎在启动时短暂地加载(并立即加载)插件,但实际上没有在插件中查找任何符号或调用任何函数。不过,它似乎对每个插件都这样做。
此外,在加载带有插件嵌入标签的页面时,谷歌浏览器似乎甚至没有对插件进行 dyld 加载,也没有调用任何函数(甚至没有调用 NP_GetEntryPoints)。谷歌浏览器也不会输出任何错误信息,它只是不加载插件。由于 Google Chrome 使用不同的进程,我不确定我是否使用 gdb 捕获了所有内容,但我也尝试了所有开关,例如--no-sandbox
,--single-process
和--plugin-startup-dialog
(顺便说一下,这在 Mac OS X 上似乎根本不起作用)。我还确定了二进制匹配的体系结构(即 Google Chrome 的 32 位)。
以前有没有人遇到过类似的问题?我在这里有什么遗漏吗,比如编译时的 gcc 开关之类的?
任何帮助将不胜感激。