Firefox 26 C ++ Addon XPCOM依赖性错误

我为下一个Firefox-v.26准备了我的C ++ Firefox插件,但是我不能用xulrunner-sdk 26 beta构build它(对于以前的主要版本,这是可以的)。 就像以前一样,我把它与xpcomglue_staticruntime_s.lib链接,但是我得到了这些错误:

  • xpcomglue_staticruntime_s.lib(nsStringAPI.obj):error LNK2019:无法parsing的外部符号_ imp _PR_sscanf在函数“public:__int64 __thiscall nsAString :: ToInteger64(枚举tag_nsresult *,无符号整数)const”(?ToInteger64 @ nsAString @@ QBE_JPAW4tag_nsresult @@我@ Z)

  • xpcomglue_staticruntime_s.lib(nsCRTGlue.obj):错误LNK2019:无法parsing的外部符号_ imp _PR_Now在函数“void __cdecl NS_MakeRandomString(char *,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时,才能成功创build插件,但在Firefox中无法正常工作 – NS_GetServiceManager()失败。 这些版本有一些链接器警告。

我需要什么设置使其链接到xpcomglue_staticruntime_s.lib或在其他情况下工作?

平台:MS Windows,MS Visual Studio 2010。

两个细节更多:

  • 在以前的sdk版本中有nss3.lib,我添加了它,现在它丢失了
  • 我使用默认的mozilla-config.h和xpcom-config.h,加上MOZILLA_STRICT_APImacros

Solutions Collecting From Web of "Firefox 26 C ++ Addon XPCOM依赖性错误"

确认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