Tôi đang viết một thành phần XPCOM. Tôi có tập tin IDL của tôi, nó rất đơn giản, chỉ chứa những điều sau đây:cách sử dụng 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);
};
Tôi đã tải về sdk xulrunner và đang cố gắng để tạo ra tiêu đề của tôi qua các lệnh sau đây, từ thư mục chứa các tập tin trên (nsIPageSummary. IDL):
~/xulrunner-sdk/sdk/bin/header.py --cachedir = ~/xulrunner-sdk/IDL/-o nsIPageSummary.h nsIPageSummary.idl
Khi điều này chạy, tôi nhận được thông báo sau:
$ ~/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"
Tôi đã xác minh rằng các tệp tồn tại trong thư mục ở trên. Tôi đang sử dụng liên kết MDN (https://developer.mozilla.org/en-US/docs/XPIDL/pyxpidl) làm hướng dẫn nhưng nó không giúp ích gì nhiều. Làm cách nào để sử dụng các công cụ này?