Question

I get the following error while trying to compile a sample implementation of firefox protocol handler. I am using Gecko SDK 3.6, Visual Studio 2010 on Windows Vista. I think the sample is very old and was not build using version 3.6 of the SDK.

1>nsKeywordModule.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_NewGenericModule2(struct nsModuleInfo const *,class nsIModule * *)" (_imp?NS_NewGenericModule2@@YAIPBUnsModuleInfo@@PAPAVnsIModule@@@Z) referenced in function _NSGetModule

1>nsKeywordProtocolHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsFixedCString::nsFixedCString(char *,unsigned int,unsigned int)" (_imp??0nsFixedCString@@QAE@PADII@Z) referenced in function "public: __thiscall nsCAutoString::nsCAutoString(void)" (??0nsCAutoString@@QAE@XZ)

1>nsKeywordProtocolHandler.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static char * nsCharTraits::sEmptyBuffer" (_imp?sEmptyBuffer@?$nsCharTraits@D@@2PADA)

1>nsKeywordProtocolHandler.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::nsACString_internal(char *,unsigned int,unsigned int)" (_imp??0nsACString_internal@@QAE@PADII@Z) referenced in function "protected: __thiscall nsCString::nsCString(char *,unsigned int,unsigned int)" (??0nsCString@@IAE@PADII@Z)

Was it helpful?

Solution

I belief the sample was using the complete mozilla implementation to get the header files. Now since we have gecko sdk all the internal linkage will have to be migrated to use frozen linkage because internal linkage is not supported by gecko sdk 3.6.

So in my case i changed nsAString.h to nsStringAPI.h and followed other guidelines

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top