2013-11-25 2 views
0

Я готовлю свой аддон для C++ Firefox для следующего Firefox - v.26, но я не могу его построить с помощью xulrunner-sdk 26 beta (это нормально с предыдущими крупными версиями). Так же, как и раньше, я связать его с xpcomglue_staticruntime_s.lib, но я получил эти ошибки:Firefox 26 C++ Addon Ошибка зависимости от XPCOM

  • xpcomglue_staticruntime_s.lib (nsStringAPI.obj): LNK2019 ошибки: неразрешенный внешний символ _ имп _PR_sscanf ссылки в функции "общественность: __int64 __thiscall nsAString :: ToInteger64 (перечисление tag_nsresult *, беззнаковое целое) Const" (ToInteger64 @ nsAString @@ QBE_JPAW4tag_nsresult @@ I @ Z?)

  • xpcomglue_staticruntime_s.lib (nsCRTGlue.obj): ошибка LNK2019: неразрешенный внешний символ _ imp _PR_Now ссылается на функцию "void __cdecl NS_MakeRandomString (Символ *, Int)»(? NS_MakeRandomString @@ YAXPADH @ Z)

Я добавил все другие библиотеки из этого SDK (не только xul.lib и mozalloc.lib, но и crmf.lib и т.д.), это не помогает. Ни работы, использующие xpcomglue_s.lib или xpcomglue_s_nomozalloc.lib вместо xpcomglue_staticruntime_s.lib

Теперь я могу построить аддон только успешно, если я использую xpcomglue.lib или xpcomglue_staticruntime.lib, но тогда он не будет правильно работать с Firefox - NS_GetServiceManager() не работает. Есть несколько ссылок с этими сборками.

Какие настройки мне нужно сделать, чтобы связать их с xpcomglue_staticruntime_s.lib или работать в других случаях?

Платформа: MS Windows, MS Visual Studio 2010.

Два детали больше:

  • В предыдущих версиях SDK был nss3.lib и я добавил его, теперь отсутствует
  • I используйте стандартные файлы mozilla-config.h и xpcom-config.h, а также макрос MOZILLA_STRICT_API
+0

[Файл а bug] (https://bugzilla.mozilla.org/enter_bug.cgi) – nmaier

+0

Хорошо, я подал: https://bugzilla.mozilla.org/show_bug.cgi?id=943230 В качестве временного решения я добавил nss3.lib из старше sdk. – ggurov

ответ

0

Это подтвержденная ошибка в SDK. Исправление планируется для Mozilla 28 (! OMG) Более подробную информацию смотрите здесь: https://bugzilla.mozilla.org/show_bug.cgi?id=937005

В то же время я обнаружил, что я могу использовать nss3.lib от старых версий, протестированы с помощью этого один: http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/25.0.1/sdk/xulrunner-25.0.1.en-US.win32.sdk.zip

+0

На самом деле в версии v.26 они исправили его. – ggurov

 Смежные вопросы

  • Нет связанных вопросов^_^