Проблема в компиляции кода C, сгенерированного osmocom asn1c - PullRequest
0 голосов
/ 05 декабря 2018

Я установил компилятор osmocom asn1c , ветвь aper-prefix, чтобы получить реализацию протокола TCAP.Я использовал соответствующий скрипт для компиляции файлов ".asn".Файлы C генерируются успешно, но при компиляции полученного кода C возникает ошибка, связанная с этой строкой кода:

#include <EXTERNAL.h>

На самом деле файл EXTERNAL.h отсутствует (на первый взглядтип EXTERNAL не поддерживается этим компилятором).Кто-нибудь знает об этой проблеме и возможном решении?

1 Ответ

0 голосов
/ 05 декабря 2018

У вас есть несколько вариантов:

  1. Использовать более новую версию asn1c из этого PR (все еще не объединено)

  2. Скопируйте EXTERNAL.h из репозитория osmocom

  3. Переименуйте EXTERNAL в EXTERNALt во всех файлах asn и добавьте следующее в файлы asn, которыеимеет EXTERNALt.

    --
    -- 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-файл и импортируйте при необходимости.

...