Я готовлю свой аддон для 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
[Файл а bug] (https://bugzilla.mozilla.org/enter_bug.cgi) – nmaier
Хорошо, я подал: https://bugzilla.mozilla.org/show_bug.cgi?id=943230 В качестве временного решения я добавил nss3.lib из старше sdk. – ggurov