Плагин перестал работать в Linux после перехода на использование GeckoSDK 1.9.1

У меня есть плагин, который отлично работает, когда я связываю его с GeckoSDK 1.9.

Теперь я переключился на использование GeckoSDK 1.9.1.16, и он перестал обнаруживаться в Linux (в Windows он все еще работает нормально) - о: плагины больше не показывают его!

Других изменений не было, кроме переключения каталогов INCLUDE/LIB в make-файле и переименования nppupp.h -> npfunctions.h.

Я протестировал его с Firefox 3.5, 3.6 и 4.0 beta - тот же результат.

Есть идеи?

2 ответа

Решение

Хорошо, если кому-то будет интересно, я отвечу на свой вопрос.

Оказывается, они не просто переименовали npupp.h -> npfunctions.h, но как-то переставили заголовки.

В результате npfunctions.h был включен до того, как XP_UNIX был определен (в prcpucfg.h), что, в свою очередь, привело к тому, что функции npentry (NP_GetMIMEDescription и т. Д.) В моем коде были определены без предварительного объявления, следовательно, имели связь с C++, следовательно, браузер не мог найти это.

Привет Mozilla, что случилось с автономными заголовками?

Если это необработанный плагин NPAPI, я бы порекомендовал использовать проект npapi-headers, который предоставляет заголовки, которые должны работать во всех браузерах и на всех платформах. Заголовки npapi от gecko-sdk иногда доставляют мне проблемы. Я бы сказал, что по крайней мере стоит попробовать.

Другие вопросы по тегам