2012-10-02 33 views
5

मैं एक XPCOM घटक लिखने पर काम कर रहा हूं। मैं अपने IDL फ़ाइल है, यह बहुत सरल है, केवल युक्त निम्नलिखित:xpidl (header.py, typelib.py) का उपयोग कैसे करें

#include "nsISupports.idl" 

[scriptable, uuid(4ead-ba5c-49c9-beb2=64209c7699a)] 
interface nsIPageSummary : nsISupports 
{ 
    boolean saveSummary(in nsIDOMDocument document, 
         out unsigned long numLinks, 
         out unsigned long numImages); 
}; 

मैं xulrunner एसडीके डाउनलोड किया है और मेरी हेडर (nsIPageSummary निर्देशिका ऊपर फ़ाइल युक्त से निम्न आदेश के माध्यम से उत्पन्न करने के लिए, कोशिश कर रहा हूँ। आईडीएल):

~/xulrunner-sdk/SDK/bin/header.py --cachedir = ~/xulrunner-sdk/IDL/-ओ nsIPageSummary.h nsIPageSummary.idl

जब यह चलता है, मैं निम्न संदेश:

$ ~/xulrunner-sdk/sdk/bin/header.py --cachedir=~/xulrunner-sdk/idl -o nsIPageSummary.h nsIPageSummary.idl 
Traceback (most recent call last): 
    File "~/xulrunner/xulrunner-sdk/sdk/bin/header.py", line 497, in <module> 
    idl.resolve(options.incdirs, p) 
    File "~/xulrunner/xulrunner-sdk/sdk/bin/xpidl.py", line 285, in resolve 
    p.resolve(self) 
    File "~/xulrunner-sdk/sdk/bin/xpidl.py", line 255, in resolve 
    raise IDLError("File '%s' not found" % self.filename, self.location) 
xpidl.IDLError: error: File 'nsISupports.idl' not found, nsIPageSummary.idl line 1:0 
#include "nsISupports.idl" 

मैंने सत्यापित किया है कि उपर्युक्त फ़ोल्डर में फ़ाइलें मौजूद हैं। मैं एक गाइड के रूप में एमडीएन लिंक (https://developer.mozilla.org/en-US/docs/XPIDL/pyxpidl) का उपयोग कर रहा हूं लेकिन यह बहुत मदद नहीं कर रहा है। मैं इन उपकरणों का उपयोग कैसे करूं?

उत्तर

5

आप ~/xulrunner-sdk/idl/ परिभाषित के रूप में अपने पथ शामिल करना चाहिए:

~/xulrunner-sdk/sdk/bin/header.py -I ~/xulrunner-sdk/idl/ ... 

दूसरी ओर कैश निर्देशिका वास्तव में कुछ अस्थायी निर्देशिका होना चाहिए के रूप में documentation पता चलता है।