Мне нужен был кодер / декодер asn1 BER, и я нашел его как часть компилятора "asn1c" (вот ссылка http://lionet.info/asn1c/blog/).
У меня нет проблем с компиляцией, используя процедуру "configure, make, make install", но кажется, что невозможно скомпилировать ее отдельно.
Я пытаюсь скомпилировать функциональность кодера / декодера BER этого пакета в статическую библиотеку в NetBeans. Однако у меня большие проблемы с некоторыми «включенными» глупостями. Вот пример ...
В файле asn1parser.h есть typedef нового типа с именем "asn1c_integer_t"
//some preprocessor statements removed to keep this post short...
typedef intmax_t asn1c_integer_t;
#include "asn1p_list.h"
#include "asn1p_oid.h" /* Object identifiers (OIDs) */
#include "asn1p_ref.h" /* References to custom types */
etc...
Однако некоторые из этих файлов, которые включены в предыдущий файл (например, asn1p_oid.h), используют новый тип данных, определенный в предыдущем файле.
#ifndef ASN1_PARSER_OID_H
#define ASN1_PARSER_OID_H
typedef struct asn1p_oid_arc_s {
asn1c_integer_t number; /* -1 if not yet defined */
char *name; /* 0 if not defined */
} asn1p_oid_arc_t;
etc...
Это не имеет смысла для меня, и я продолжаю получать ошибки, такие как:
asn1parser.h: 32: ошибка: ожидается ‘=’, ‘,’, ‘;’, ‘asm’ или ‘ атрибут ’ перед ‘asn1c_integer_t’
Может кто-нибудь помочь мне решить эту проблему?