0

尝试编译 firefox 协议处理程序的示例实现时出现以下错误。我在 Windows Vista 上使用 Gecko SDK 3.6、Visual Studio 2010。我认为该示例非常旧,并且不是使用 SDK 3.6 版构建的。

1>nsKeywordModule.obj : 错误 LNK2019: 引用了无法解析的外部符号“__declspec(dllimport) unsigned int __cdecl NS_NewGenericModule2(struct nsModuleInfo const *,class nsIModule * *)”(_ imp ?NS_NewGenericModule2@@YAIPBUnsModuleInfo@@PAPAVnsIModule@@@Z)在函数 _NSGetModule

1>nsKeywordProtocolHandler.obj : 错误 LNK2019: 引用了无法解析的外部符号“__declspec(dllimport) public: __thiscall nsFixedCString::nsFixedCString(char *,unsigned int,unsigned int)” (_ imp ??0nsFixedCString@@QAE@PADII@Z)在函数“公共:__thiscall nsCAutoString::nsCAutoString(void)”(??0nsCAutoString@@QAE@XZ)

1>nsKeywordProtocolHandler.obj : 错误 LNK2001: 无法解析的外部符号“__declspec(dllimport) public: static char * nsCharTraits::sEmptyBuffer” (_ imp ?sEmptyBuffer@?$nsCharTraits@D@@2PADA)

1>nsKeywordProtocolHandler.obj : 错误 LNK2019: 未解析的外部符号“__declspec(dllimport) public: __thiscall nsACString_internal::nsACString_internal(char *,unsigned int,unsigned int)” (_ imp ??0nsACString_internal@@QAE@PADII@Z) 引用在函数“受保护:__thiscall nsCString::nsCString(char *,unsigned int,unsigned int)”(??0nsCString@@IAE@PADII@Z)

4

1 回答 1

0

我相信该示例使用完整的 mozilla 实现来获取头文件。现在,由于我们有 gecko sdk,所有内部链接都必须迁移以使用冻结链接,因为 gecko sdk 3.6 不支持内部链接。

所以在我的情况下,我将nsAString.h更改为nsStringAPI.h并遵循其他准则

于 2013-01-20T00:14:12.780 回答