您的位置:首页 > 其它

asn1c使用过程中的问题以及解决方式

2014-07-22 16:29 351 查看
用g++编译文件,出现下面打印:

ber_tlv_tag.c: In function ‘ssize_t ber_tlv_tag_snprint(ber_tlv_tag_t, char*, size_t)’:

ber_tlv_tag.c:81:39: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ber_tlv_tag.c:82:41: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ber_tlv_tag.c:83:37: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ber_tlv_tag.c:84:37: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:18:2: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

BIT_STRING.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

BIT_STRING.c:73:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ComPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ComPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ComPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ComPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

constraints.c: In function ‘void _asn_i_ctfailcb(void*, asn_TYPE_descriptor_t*, const void*, const char*, ...)’:

constraints.c:39:27: error: invalid conversion from ‘void*’ to ‘errbufDesc*’ [-fpermissive]

IA5String.c:16:4: error: ‘APC_CONSTRAINED’ was not declared in this scope

IA5String.c:17:4: error: ‘APC_SEMI_CONSTRAINED’ was not declared in this scope

IA5String.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

IA5String.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

INTEGER.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

INTEGER.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

INTEGER.c: In function ‘int INTEGER_st_prealloc(INTEGER_t*, int)’:

INTEGER.c:313:13: error: invalid conversion from ‘void*’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]

INTEGER.c: In function ‘asn_dec_rval_t INTEGER_decode_uper(asn_codec_ctx_t*, asn_TYPE_descriptor_t*, asn_per_constraints_t*, void**, asn_per_data_t*)’:

INTEGER.c:593:23: error: ‘APC_EXTENSIBLE’ was not declared in this scope

INTEGER.c:603:18: error: ‘APC_SEMI_CONSTRAINED’ was not declared in this scope

INTEGER.c:607:25: error: ‘APC_CONSTRAINED’ was not declared in this scope

INTEGER.c:616:24: error: ‘APC_UNCONSTRAINED’ was not declared in this scope

INTEGER.c: In function ‘asn_enc_rval_t INTEGER_encode_uper(asn_TYPE_descriptor_t*, asn_per_constraints_t*, void*, asn_per_outp_t*)’:

INTEGER.c:705:19: error: ‘APC_SEMI_CONSTRAINED’ was not declared in this scope

INTEGER.c:722:19: error: ‘APC_SEMI_CONSTRAINED’ was not declared in this scope

INTEGER.c:735:18: error: ‘APC_EXTENSIBLE’ was not declared in this scope

LocalPort.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

LocalPort.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

LocalPort.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

LocalPort.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

MeasPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

MeasPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

MeasPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

MeasPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

NativeEnumerated.c:41:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

NativeEnumerated.c:41:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

NativeEnumerated.c: In function ‘asn_dec_rval_t NativeEnumerated_decode_uper(asn_codec_ctx_t*, asn_TYPE_descriptor_t*, asn_per_constraints_t*, void**, asn_per_data_t*)’:

NativeEnumerated.c:97:17: error: ‘APC_EXTENSIBLE’ was not declared in this scope

NativeEnumerated.c: In function ‘int NativeEnumerated__compar_value2enum(const void*, const void*)’:

NativeEnumerated.c:130:36: error: invalid conversion from ‘const void*’ to ‘const asn_INTEGER_enum_map_t* {aka const asn_INTEGER_enum_map_s*}’ [-fpermissive]

NativeEnumerated.c:131:36: error: invalid conversion from ‘const void*’ to ‘const asn_INTEGER_enum_map_t* {aka const asn_INTEGER_enum_map_s*}’ [-fpermissive]

NativeEnumerated.c: In function ‘asn_enc_rval_t NativeEnumerated_encode_uper(asn_TYPE_descriptor_t*, asn_per_constraints_t*, void*, asn_per_outp_t*)’:

NativeEnumerated.c:166:51: error: invalid conversion from ‘void*’ to ‘asn_INTEGER_enum_map_t* {aka asn_INTEGER_enum_map_s*}’ [-fpermissive]

NativeEnumerated.c:179:17: error: ‘APC_EXTENSIBLE’ was not declared in this scope

NativeInteger.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

NativeInteger.c:42:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:20:2: error: ‘ASN_OSUBV_STR’ was not declared in this scope

OCTET_STRING.c:23:4: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:24:4: error: ‘APC_SEMI_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:49:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:49:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c: In function ‘asn_dec_rval_t OCTET_STRING_decode_ber(asn_codec_ctx_t*, asn_TYPE_descriptor_t*, void**, const void*, size_t, int)’:

OCTET_STRING.c:181:7: error: use of enum ‘asn_OS_Subvariant’ without previous declaration

OCTET_STRING.c:181:38: error: invalid type in declaration before ‘=’ token

OCTET_STRING.c:185:20: error: ‘ASN_OSUBV_STR’ was not declared in this scope

OCTET_STRING.c:226:23: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:305:23: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:330:8: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:333:8: error: the value of ‘ASN_OSUBV_STR’ is not usable in a constant expression

OCTET_STRING.c:185:20: note: ‘ASN_OSUBV_STR’ does not have integral or enumeration type

OCTET_STRING.c:348:8: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:393:22: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:427:23: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:460:23: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:471:23: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:498:21: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c: In function ‘asn_enc_rval_t OCTET_STRING_encode_der(asn_TYPE_descriptor_t*, void*, int, ber_tlv_tag_t, int (*)(const void*, size_t, void*), void*)’:

OCTET_STRING.c:524:7: error: use of enum ‘asn_OS_Subvariant’ without previous declaration

OCTET_STRING.c:524:38: error: invalid type in declaration before ‘=’ token

OCTET_STRING.c:533:21: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:535:22: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:550:34: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:557:21: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c: At global scope:

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c:693:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

OCTET_STRING.c: In function ‘asn_dec_rval_t OCTET_STRING_decode_uper(asn_codec_ctx_t*, asn_TYPE_descriptor_t*, asn_per_constraints_t*, void**, asn_per_data_t*)’:

OCTET_STRING.c:1360:7: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:1363:7: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:1367:7: error: ‘ASN_OSUBV_STR’ was not declared in this scope

OCTET_STRING.c:1369:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:1373:7: error: ‘ASN_OSUBV_U16’ was not declared in this scope

OCTET_STRING.c:1375:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:1379:7: error: ‘ASN_OSUBV_U32’ was not declared in this scope

OCTET_STRING.c:1381:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:1396:17: error: ‘APC_EXTENSIBLE’ was not declared in this scope

OCTET_STRING.c: In function ‘asn_enc_rval_t OCTET_STRING_encode_uper(asn_TYPE_descriptor_t*, asn_per_constraints_t*, void*, asn_per_outp_t*)’:

OCTET_STRING.c:1532:32: error: ‘APC_EXTENSIBLE’ was not declared in this scope

OCTET_STRING.c:1536:7: error: ‘ASN_OSUBV_ANY’ was not declared in this scope

OCTET_STRING.c:1538:7: error: ‘ASN_OSUBV_BIT’ was not declared in this scope

OCTET_STRING.c:1545:7: error: ‘ASN_OSUBV_STR’ was not declared in this scope

OCTET_STRING.c:1547:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:1552:7: error: ‘ASN_OSUBV_U16’ was not declared in this scope

OCTET_STRING.c:1554:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

OCTET_STRING.c:1559:7: error: ‘ASN_OSUBV_U32’ was not declared in this scope

OCTET_STRING.c:1561:20: error: ‘APC_CONSTRAINED’ was not declared in this scope

per_encoder.c: In function ‘int encode_dyn_cb(const void*, size_t, void*)’:

per_encoder.c:51:21: error: invalid conversion from ‘void*’ to ‘enc_dyn_arg*’ [-fpermissive]

per_opentype.c: In function ‘int uper_open_type_put(asn_TYPE_descriptor_t*, asn_per_constraints_t*, void*, asn_per_outp_t*)’:

per_opentype.c:42:45: error: invalid conversion from ‘void*’ to ‘const uint8_t* {aka const unsigned char*}’ [-fpermissive]

./per_support.h:104:5: error: initializing argument 2 of ‘int per_put_many_bits(asn_per_outp_t*, const uint8_t*, int)’ [-fpermissive]

per_opentype.c: In function ‘asn_dec_rval_t uper_open_type_get_simple(asn_codec_ctx_t*, asn_TYPE_descriptor_t*, asn_per_constraints_t*, void**, asn_per_data_t*)’:

per_opentype.c:86:10: error: invalid conversion from ‘void*’ to ‘uint8_t* {aka unsigned char*}’ [-fpermissive]

per_opentype.c: In function ‘int uper_open_type_skip(asn_codec_ctx_t*, asn_per_data_t*)’:

per_opentype.c:256:14: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

per_opentype.c: In function ‘int uper_ugot_refill(asn_per_data_t*)’:

per_opentype.c:290:27: error: invalid conversion from ‘void*’ to ‘uper_ugot_key*’ [-fpermissive]

ScanPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ScanPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ScanPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ScanPara.c:79:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

ScanPara.c:79:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

SpecComPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

SpecComPara.c:29:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

SpecComPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

SpecComPara.c:69:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:56:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:56:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:56:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:56:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:56:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:99:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeParaCnf.c:99:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeWorkPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeWorkPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeWorkPara.c:38:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeWorkPara.c:79:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

UeWorkPara.c:79:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

liuguili@ubuntu:~/asn1ctemp/ueini$

后来想到先用gcc把asn1编译成一个库,然后用g++编译main文件的时候链接这个库,

liuguili@ubuntu:~/asn1ctemp/ueini$ gcc -o libasn1.so -shared -fPIC -I. *.c

liuguili@ubuntu:~/asn1ctemp/ueini$ g++ -o haha main.cpp -I. -L. -lasn1

这样就好了

出现下面这个错误:

liuguili@ubuntu:~/asn1ctemp/ueini$ ./jaja

./jaja: error while loading shared libraries: libasn1.so: cannot open shared object file: No such file or directory

后来发现把库的路径加上就好了:

liuguili@ubuntu:~/asn1ctemp/ueini$ export LD_LIBRARY_PATH=/home/liuguili/asn1ctemp/ueini:$LD_LIBRARY_PATH

注意在编译asn1的时候的编译选项如下:

liuguili@ubuntu:~/asn1ctemp/bcch$ asn1c -fnative-types bcch.asn -gen-PER
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐