gpt4 book ai didi

c - 编译osmocom asn1c生成的C代码的问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:13 27 4
gpt4 key购买 nike

我已经安装了 osmocom asn1c compiler , aper-prefix 分支,以获得 TCAP 协议(protocol)的实现。我用过 respective script编译“.asn”文件。C文件生成成功,但是在编译得到的C代码时,报错,与这行代码有关:

#include <EXTERNAL.h>

其实是缺少EXTERNAL.h这个文件(貌似是这个编译器不支持EXTERNAL类型)。有人知道这个问题和可能的解决方案吗?

最佳答案

您有多种选择:

  1. 使用 newer version of asn1c from this PR (还没有合并)

  2. 复制EXTERNAL.h来自 osmocom 存储库

  3. 将所有 asn 文件中的 EXTERNAL 重命名为 EXTERNALt 并在具有 EXTERNALt 的 asn 文件中添加以下内容。

    --
    -- From "ITU-T Recommendation X.208", "34 The external type"
    --
    EXTERNALt ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
    {direct-reference OBJECT IDENTIFIER OPTIONAL,
    indirect-reference INTEGER OPTIONAL,
    data-value-descriptor ObjectDescriptor OPTIONAL,
    encoding CHOICE
    {single-ASN1-type [0] ANY,
    octet-aligned [1] IMPLICIT OCTET STRING,
    arbitrary [2] IMPLICIT BIT STRING}}

    或者将其添加到单独的 asn 文件中并在需要的地方导入。

关于c - 编译osmocom asn1c生成的C代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53632962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com