c - osmocom asn1c生成的C代码编译问题
问题描述
我已经安装了osmocom asn1c 编译器分支aper-prefix
,以获得 TCAP 协议的实现。我已经使用相应的脚本来编译“.asn”文件。C文件生成成功,但是编译得到的C代码时报错,与这行代码有关:
#include <EXTERNAL.h>
事实上,文件EXTERNAL.h 是缺失的(貌似这个编译器不支持EXTERNAL 类型)。有人知道这个问题和可能的解决方案吗?
解决方案
你有几个选择:
使用此 PR 中更新版本的 asn1c (仍未合并)
从 osmocom 存储库中复制EXTERNAL.h
在所有 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 文件中并在需要的地方导入。
推荐阅读
- html - 如何在不同屏幕分辨率下的相同位置显示 CSS 属性“位置:固定”?
- php - (也许)停止启动 foreach 循环以修复 Bootstrap 结构
- javascript - meteo.js:21 Uncaught SyntaxError: await 仅在异步函数中有效
- css - Angular 添加主题 scss 以覆盖全局样式
- swift - 运行仅 iPhone 应用程序的 iPad 对应于哪款 iPhone?
- php - 多个 MySQL 查询需要大量时间来加载页面
- nunit - Namespce OneTimeTearDownAttirbute () 和 OneTimeSetUpttirbute () 在 NUnit.Framework 中不存在,在自动生成的 specflow(.cs) 文件中显示错误
- apache-spark - java.util.NoSuchElementException:在表 abc.company_vals 中找不到列:companyId,companyName
- elasticsearch - 弹性搜索客户端找不到请求类
- css - 如何更改TextField中箭头的颜色 从material-ui中选择