首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用xpidl (header.py,typelib.py)

如何使用xpidl (header.py,typelib.py)
EN

Stack Overflow用户
提问于 2012-10-03 04:48:04
回答 1查看 1.3K关注 0票数 5

我正在编写一个XPCOM组件。我有我的idl文件,它非常简单,只包含以下内容:

代码语言:javascript
复制
#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 sdk,并尝试通过以下命令从包含上述文件(nsIPageSummary.idl)的目录中生成我的头文件:

~/xulrunner-sdk/sdk/bin/header.py --缓存目录=~/xulrunner-sdk/idl/ -o nsIPageSummary.h nsIPageSummary.idl

运行此命令时,我会收到以下消息:

代码语言:javascript
复制
$ ~/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"

我已验证上述文件夹中是否存在这些文件。我使用MDN链接(https://developer.mozilla.org/en-US/docs/XPIDL/pyxpidl)作为指南,但它没有多大帮助。如何使用这些工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 15:10:24

您应该将~/xulrunner-sdk/idl/定义为您的包含路径:

代码语言:javascript
复制
~/xulrunner-sdk/sdk/bin/header.py -I ~/xulrunner-sdk/idl/ ...

另一方面,缓存目录实际上应该是某个临时目录,正如documentation所建议的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12698081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档