Hi, Following the official steps, I want to get xpcom-based dll, but I did not link successfully, the belows is the error. 1>xpcomglue_s_nomozalloc.lib(nsISupportsImpl.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in FpComponent.obj I use Gecko18 for Firefox 17 and my project use VS2010 IDE, the below shows the project settings: 1. At the input of Linker, I put mozalloc.lib; nspr4.lib; plds4.lib; plc4.lib; xpcomglue_s_nomozalloc.lib; xpcom.lib in the additional depencies 2. At the preprocessor of C/C++, I added XP_WIN32 and XP_WIN to the Preprocessor Definitions 3. At the code generation, I selected Mulit-thread Debug DLL(/MDd) at Runtime Library 4. At the VC++ Direcories, I set the Include Directories and Library Directories I give the main part of code, hope anyone can show me some suggestions /****************************************************************** ** FpComponent.h *******************************************************************/ #pragma once #ifndef _FP_COMPONENT_H_ #define _FP_COMPONENT_H_ #include "IFpComponent.h" #define FUNPLAYER_COMPONENT_CONTRACTID "@funshion.com/fpcomponent;1" #define FUNPLAYER_COMPONENT_CLASSNAME "Funshion player's XPCOM" #define FUNPLAYER_COMPONENT_CID { 0xedee1598, 0xaa95, 0x4325, { 0xa3, 0x25, 0xc5, 0x64, 0x3c, 0x50, 0xcc, 0x3e } } class CFpComponent : public IFpComponent { public: CFpComponent(void); ~CFpComponent(void); NS_DECL_ISUPPORTS NS_DECL_IFPCOMPONENT }; #endif /****************************************************************** ** FpComponent.cpp *******************************************************************/ #include "stdafx.h" #include "FpComponent.h" CFpComponent::CFpComponent( void ) {} CFpComponent::~CFpComponent( void ) {} NS_IMPL_ISUPPORTS1(CFpComponent, IFpComponent) NS_IMETHODIMP CFpComponent::Startup( void ) { MessageBoxA(NULL, "Hello World!", "tip", NULL); return NS_OK; } The Question is: how can I get the correct xpcom, and how can I get valid instance when calling Components.classes["@fpcomponet.com/fpcomponent;1"].createInstance(); Thanks. |
_______________________________________________ dev-tech-layout mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-layout

