IDL을 사용하는 Firefox 확장 기능을 빌드하려고합니다. 그러나 빌드는이 오류와 함께 죽으면 : 나는 단순히 폴더에 풀고 설치 XULRunner가-SDK (20)의 최신 릴리스 버전을 사용하고XPIDL (typelib.py) 유형을 찾을 수 없음 오류
[apply] Executing 'python' with arguments:
[apply] 'C:\Users\Dad\Documents\Sage\xulrunner-sdk/sdk/bin/typelib.py'
[apply] '-I'
[apply] 'C:\Users\Dad\Documents\Sage\xulrunner-sdk/idl/'
[apply] '-o'
[apply] 'C:\Users\Dad\Documents\Sage\build\xpi\components\sageIFeedParserListener.xpt'
[apply] 'C:\Users\Dad\Documents\Sage\src\components\sageIFeedParserListener.idl'
[apply]
[apply] Traceback (most recent call last):
[...]
[apply] File "C:\Users\Dad\Documents\Sage\xulrunner-sdk\sdk\bin\xpidl.py", line 959, in resolve
[apply] self.realtype = method.iface.idl.getName(self.type, self.location)
[apply] File "C:\Users\Dad\Documents\Sage\xulrunner-sdk\sdk\bin\xpidl.py", line 271, in getName
[apply] raise IDLError("type '%s' not found" % id, location)
[apply] xpidl.IDLError: error: type 'PRInt64' not found, sageIFeedItemEnclosure.idl line 44:32
[apply] void init(in AString link, in PRInt64 length, in AString mimeType);
; 나는 내가 다른 것을 할 필요가 있다고 생각하지 않는다. 그러나 나는 그것에 대해 틀린가? 나는 Python 2.7.3을 가지고있다. typelib.py 호출 경로가 올바른 것 같습니다. IDL 파일 자체가 간단하며 다음과 같습니다
#include "nsISupports.idl"
[scriptable, uuid(73C6ECE6-0D9F-474C-8959-3979D2D1CBDB)]
interface sageIFeedItemEnclosure: nsISupports {
void init(in AString link, in PRInt64 length, in AString mimeType);
}
그리고 PRInt64가 nsISupportsPrimitives.idl에 정의되어 있음을 볼 수 있습니다. 그러나 내가 컴파일하려고하는 IDL 파일에 해당 파일을 특별히 포함하더라도 동일한 오류가 발생하므로 다른 문제가 의심됩니다.
아이디어가 있으십니까?
'PRInt64'를'int64_t'로 변경하면 어떻게 될까요? – paa
int64_t가 작동합니다. 그럼 그게 우리에게 무엇을 말합니까? –
내 대답보기, 괜찮 으면 받아들이십시오 :) – paa