Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python asn1tools-asn.1编译失败_Python_Asn.1 - Fatal编程技术网

python asn1tools-asn.1编译失败

python asn1tools-asn.1编译失败,python,asn.1,Python,Asn.1,我正在尝试编译3GPP 38.331 ASN.1规范,它是从 但是,这会抛出错误asn1tools.errors.CompileError:在模块“NR RRC定义”中找不到类型“SetupRelease”。 我可以在.asn文件中看到SetupRelease定义 SetupRelease { ElementTypeParam } ::= CHOICE { release NULL, setup ElementTypeParam } 很可能您

我正在尝试编译3GPP 38.331 ASN.1规范,它是从

但是,这会抛出错误asn1tools.errors.CompileError:在模块“NR RRC定义”中找不到类型“SetupRelease”。

我可以在.asn文件中看到
SetupRelease
定义

SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}

很可能您的编译器不支持参数化类型

您可以用不同的方式编写规范(保持兼容)

考虑从您的规范中删除此项

SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}
每次规范中引用此类型时,请将
ElementTypeParam
替换为实际类型

例如

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication                       SetupRelease {LocationMeasurementInfo},
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        SEQUENCE{}                                                              OPTIONAL
}
应该成为

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication  CHOICE {
        release         NULL,
        setup           LocationMeasurementInfo
    },
    lateNonCriticalExtension   OCTET STRING   OPTIONAL,
    nonCriticalExtension    SEQUENCE{}        OPTIONAL
}

很可能您的编译器不支持参数化类型

您可以用不同的方式编写规范(保持兼容)

考虑从您的规范中删除此项

SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}
每次规范中引用此类型时,请将
ElementTypeParam
替换为实际类型

例如

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication                       SetupRelease {LocationMeasurementInfo},
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        SEQUENCE{}                                                              OPTIONAL
}
应该成为

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication  CHOICE {
        release         NULL,
        setup           LocationMeasurementInfo
    },
    lateNonCriticalExtension   OCTET STRING   OPTIONAL,
    nonCriticalExtension    SEQUENCE{}        OPTIONAL
}

(如果这是一个)‘参数化(X.683)还不受支持’(请参阅我的答案了解解决方法)引用的库是正确的。是否有支持
参数化(X.683)
的替代库?乍一看,您使用的工具很好,而且很有活力(因此我的工作值得一试)。另一个python工具是(我不知道它是否支持参数化)@user320644 Try-pycrateproject-。(如果这是一个)‘参数化(X.683)还不受支持’(请参阅我的答案了解解决方法)引用的库是正确的。是否有支持
参数化(X.683)
的替代库?乍一看,您使用的工具很好,而且很有活力(因此我的工作值得一试)。另一个python工具是(我不知道它是否支持参数化)@user320644 Try-pycrateproject-。