Плагин NPAPI: nsScriptablePeer.obj: ошибка LNK2019: неразрешенный внешний символ _NPN_Evaluate, указанный в функции - PullRequest
2 голосов
/ 16 ноября 2009

Я пытаюсь скомпилировать плагин NPAPI под Win-XP и VS 2008. Это дает мне ошибку как nsScriptablePeer.obj : error LNK2019: unresolved external symbol _NPN_Evaluate referenced in function, когда я пытаюсь использовать NPN_Evaluate для вызова функции JavaScript. Я добавил все библиотеки из xulrunner-sdk / lib и xullrunner-sdk / sdk / lib в дополнительные каталоги библиотек. Нужно ли включать какую-либо другую библиотеку для использования функции NPN_Evaluate?

Ответы [ 2 ]

3 голосов
/ 16 ноября 2009

Функции, начинающиеся с NPN_, доступны только через указатель, переданный во время фазы инициализации NP_Initialize. Я попал в такую ​​ситуацию и решил немного документировать здесь .

Другими словами, вам не нужно связывать библиотеку , но вам нужно поймать указатель на функции браузера NPN во время вызова NP_Initialize к вашему плагину.

1 голос
/ 20 декабря 2009

Краткое описание плагинов npapi вы можете найти здесь: http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/

это немного несвязно, но моя цель состояла в том, чтобы ответить на некоторые из плохо объясненных частей NPAPI, например, на ту, с которой вы столкнулись здесь =]

Кстати, если вы используете nsScriptablePeer, вы используете устаревший пример, который все еще использует XPCOM вместо NPObjects. XPCOM больше не будет поддерживаться в будущих версиях Firefox (я полагаю, начиная с версии 3.6)

Немного подробнее об этом здесь: http://colonelpanic.net/2009/08/building-a-firefox-plugin-%E2%80%93-part-three/

...