Bir XPCOM bileşeni yazmak için çalışıyorum. Benim idl dosyası var, aşağıdaki sadece içeren, çok basit: xpidl (header.py, typelib.py) nasıl kullanılır
#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);
};
Ben xulrunner sdk indirilen ve (yukarıda dosyasını içeren dizinden aşağıdaki komutu ile nsIPageSummary benim başlıklarını oluşturmak için çalışıyorum. idl): Bu çalıştığında
~/xulrunner-sdk/sdk/bin/header.py/xulrunner-sdk -o nsIPageSummary.h nsIPageSummary.idl
, ben idl = olsun// ~ --cachedir Aşağıdaki ileti:
$ ~/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"
Dosyaların yukarıdaki klasörde bulunduğunu doğruladım. MDN bağlantısını (https://developer.mozilla.org/en-US/docs/XPIDL/pyxpidl) bir kılavuz olarak kullanıyorum ama çok yardımcı olmuyor. Bu araçları nasıl kullanırım? documentation anlaşılacağı gibi
~/xulrunner-sdk/sdk/bin/header.py -I ~/xulrunner-sdk/idl/ ...
diğer taraftan önbellek dizini gerçekten bazı geçici dizini olmalıdır: include yolunuzun olarak