【问题标题】:Problem in compiling C code generated by osmocom asn1cosmocom asn1c生成的C代码编译问题
【发布时间】:2018-12-05 13:01:24
【问题描述】:

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

#include <EXTERNAL.h>

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

【问题讨论】:

    标签: c ss7 asn.1


    【解决方案1】:

    您有多种选择:

    1. 使用newer version of asn1c from this PR(仍未合并)

    2. 从osmocom仓库复制EXTERNAL.h

    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 文件中并在需要的地方导入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 2015-07-05
      相关资源
      最近更新 更多