2017-01-18 5 views
0

私はライブラリlibtomcryptの使用に疲れたCONTIKI OSとCOOJAシミュレータの暗号化に取り組んでいます。私はCONTIKIフォルダにライブラリをインクルードしていますが、rsa_make_key関数を呼び出すのが疲れたときにこのエラーが出ました。おかげさまで、ありがとうございました。エラー:contiki os libtomcryptライブラリの列挙子の再宣言

> make TARGET=cooja clean 
rm -f *~ *core core *.srec \ 
    *.lst *.map \ 
    *.cprg *.bin *.data contiki*.a *.firmware core-labels.S *.ihex *.ini \ 
    *.ce *.co 
rm -rf 
rm -rf obj_cooja 

> make sender-node.cooja TARGET=cooja 
    CC  sender-node.c 
In file included from ../../../core/./../apps/libtomcrypt/src/headers/tomcrypt.h:80:0, 
       from sender-node.c:43: 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:4:4: error: redeclaration of enumerator 'PK_PUBLIC' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:4:4: note: previous definition of 'PK_PUBLIC' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:5:4: error: redeclaration of enumerator 'PK_PRIVATE' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:5:4: note: previous definition of 'PK_PRIVATE' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:16:4: error: redeclaration of enumerator 'PKA_RSA' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:16:4: note: previous definition of 'PKA_RSA' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:17:4: error: redeclaration of enumerator 'PKA_DSA' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:17:4: note: previous definition of 'PKA_DSA' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:20:16: error: redefinition of 'struct Oid' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:20:16: note: originally defined here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:24:3: error: conflicting types for 'oid_st' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:24:3: note: previous declaration of 'oid_st' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:26:5: error: conflicting types for 'pk_get_oid' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:26:5: note: previous declaration of 'pk_get_oid' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:32:16: error: redefinition of 'struct Rsa_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:32:16: note: originally defined here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:51:3: error: conflicting types for 'rsa_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:51:3: note: previous declaration of 'rsa_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:53:5: error: conflicting types for 'rsa_make_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:53:5: note: previous declaration of 'rsa_make_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:55:5: error: conflicting types for 'rsa_get_size' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:55:5: note: previous declaration of 'rsa_get_size' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:57:5: error: conflicting types for 'rsa_exptmod' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:57:5: note: previous declaration of 'rsa_exptmod' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:61:6: error: conflicting types for 'rsa_free' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:61:6: note: previous declaration of 'rsa_free' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:80:5: error: conflicting types for 'rsa_encrypt_key_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:80:5: note: previous declaration of 'rsa_encrypt_key_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:85:5: error: conflicting types for 'rsa_decrypt_key_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:85:5: note: previous declaration of 'rsa_decrypt_key_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:91:5: error: conflicting types for 'rsa_sign_hash_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:91:5: note: previous declaration of 'rsa_sign_hash_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:98:5: error: conflicting types for 'rsa_verify_hash_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:98:5: note: previous declaration of 'rsa_verify_hash_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:104:5: error: conflicting types for 'rsa_sign_saltlen_get_max_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:104:5: note: previous declaration of 'rsa_sign_saltlen_get_max_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:107:5: error: conflicting types for 'rsa_export' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:107:5: note: previous declaration of 'rsa_export' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:108:5: error: conflicting types for 'rsa_import' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:108:5: note: previous declaration of 'rsa_import' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:170:16: error: redefinition of 'struct Dh_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:170:16: note: originally defined here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:174:3: error: conflicting types for 'dh_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:174:3: note: previous declaration of 'dh_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:178:5: error: conflicting types for 'dh_get_size' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:178:5: note: previous declaration of 'dh_get_size' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:180:5: error: conflicting types for 'dh_make_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:180:5: note: previous declaration of 'dh_make_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:181:6: error: conflicting types for 'dh_free' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:181:6: note: previous declaration of 'dh_free' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:183:5: error: conflicting types for 'dh_export' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:183:5: note: previous declaration of 'dh_export' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:184:5: error: conflicting types for 'dh_import' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:184:5: note: previous declaration of 'dh_import' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:186:5: error: conflicting types for 'dh_shared_secret' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:186:5: note: previous declaration of 'dh_shared_secret' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:189:5: error: conflicting types for 'dh_encrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:189:5: note: previous declaration of 'dh_encrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:194:5: error: conflicting types for 'dh_decrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:194:5: note: previous declaration of 'dh_decrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:198:5: error: conflicting types for 'dh_sign_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:198:5: note: previous declaration of 'dh_sign_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:202:5: error: conflicting types for 'dh_verify_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:202:5: note: previous declaration of 'dh_verify_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:241:3: error: conflicting types for 'ltc_ecc_set_type' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:241:3: note: previous declaration of 'ltc_ecc_set_type' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:253:3: error: conflicting types for 'ecc_point' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:253:3: note: previous declaration of 'ecc_point' was here 
In file included from ../../../core/./../apps/libtomcrypt/src/headers/tomcrypt.h:80:0, 
       from sender-node.c:43: 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:271:3: error: conflicting types for 'ecc_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:271:3: note: previous declaration of 'ecc_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:274:31: error: conflicting types for 'ltc_ecc_sets' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:274:31: note: previous declaration of 'ltc_ecc_sets' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:278:6: error: conflicting types for 'ecc_get_size' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:278:6: note: previous declaration of 'ecc_get_size' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:280:6: error: conflicting types for 'ecc_make_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:280:6: note: previous declaration of 'ecc_make_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:281:6: error: conflicting types for 'ecc_make_key_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:281:6: note: previous declaration of 'ecc_make_key_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:282:6: error: conflicting types for 'ecc_free' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:282:6: note: previous declaration of 'ecc_free' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:284:6: error: conflicting types for 'ecc_export' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:284:6: note: previous declaration of 'ecc_export' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:285:6: error: conflicting types for 'ecc_import' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:285:6: note: previous declaration of 'ecc_import' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:286:6: error: conflicting types for 'ecc_import_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:286:6: note: previous declaration of 'ecc_import_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:288:5: error: conflicting types for 'ecc_ansi_x963_export' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:288:5: note: previous declaration of 'ecc_ansi_x963_export' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:289:5: error: conflicting types for 'ecc_ansi_x963_import' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:289:5: note: previous declaration of 'ecc_ansi_x963_import' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:290:5: error: conflicting types for 'ecc_ansi_x963_import_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:290:5: note: previous declaration of 'ecc_ansi_x963_import_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:292:6: error: conflicting types for 'ecc_shared_secret' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:292:6: note: previous declaration of 'ecc_shared_secret' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:295:6: error: conflicting types for 'ecc_encrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:295:6: note: previous declaration of 'ecc_encrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:300:6: error: conflicting types for 'ecc_decrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:300:6: note: previous declaration of 'ecc_decrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:304:5: error: conflicting types for 'ecc_sign_hash_raw' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:304:5: note: previous declaration of 'ecc_sign_hash_raw' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:308:6: error: conflicting types for 'ecc_sign_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:308:6: note: previous declaration of 'ecc_sign_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:312:5: error: conflicting types for 'ecc_verify_hash_raw' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:312:5: note: previous declaration of 'ecc_verify_hash_raw' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:316:6: error: conflicting types for 'ecc_verify_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:316:6: note: previous declaration of 'ecc_verify_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:321:12: error: conflicting types for 'ltc_ecc_new_point' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:321:12: note: previous declaration of 'ltc_ecc_new_point' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:322:12: error: conflicting types for 'ltc_ecc_del_point' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:322:12: note: previous declaration of 'ltc_ecc_del_point' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:328:5: error: conflicting types for 'ltc_ecc_projective_dbl_point' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:328:5: note: previous declaration of 'ltc_ecc_projective_dbl_point' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:331:5: error: conflicting types for 'ltc_ecc_projective_add_point' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:331:5: note: previous declaration of 'ltc_ecc_projective_add_point' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:349:5: error: conflicting types for 'ltc_ecc_mulmod' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:349:5: note: previous declaration of 'ltc_ecc_mulmod' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:353:5: error: conflicting types for 'ltc_ecc_mul2add' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:353:5: note: previous declaration of 'ltc_ecc_mul2add' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:369:5: error: conflicting types for 'ltc_ecc_map' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:369:5: note: previous declaration of 'ltc_ecc_map' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:403:3: error: conflicting types for 'dsa_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:403:3: note: previous declaration of 'dsa_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:405:5: error: conflicting types for 'dsa_make_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:405:5: note: previous declaration of 'dsa_make_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:406:6: error: conflicting types for 'dsa_free' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:406:6: note: previous declaration of 'dsa_free' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:408:5: error: conflicting types for 'dsa_sign_hash_raw' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:408:5: note: previous declaration of 'dsa_sign_hash_raw' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:412:5: error: conflicting types for 'dsa_sign_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:412:5: note: previous declaration of 'dsa_sign_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:416:5: error: conflicting types for 'dsa_verify_hash_raw' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:416:5: note: previous declaration of 'dsa_verify_hash_raw' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:420:5: error: conflicting types for 'dsa_verify_hash' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:420:5: note: previous declaration of 'dsa_verify_hash' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:424:5: error: conflicting types for 'dsa_encrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:424:5: note: previous declaration of 'dsa_encrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:429:5: error: conflicting types for 'dsa_decrypt_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:429:5: note: previous declaration of 'dsa_decrypt_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:433:5: error: conflicting types for 'dsa_import' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:433:5: note: previous declaration of 'dsa_import' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:434:5: error: conflicting types for 'dsa_export' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:434:5: note: previous declaration of 'dsa_export' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:435:5: error: conflicting types for 'dsa_verify_key' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:435:5: note: previous declaration of 'dsa_verify_key' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:437:5: error: conflicting types for 'dsa_shared_secret' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:437:5: note: previous declaration of 'dsa_shared_secret' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:445:14: error: nested redefinition of 'enum ltc_asn1_type_' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:445:14: error: redeclaration of 'enum ltc_asn1_type_' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:445:14: note: originally defined here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:447:2: error: redeclaration of enumerator 'LTC_ASN1_EOL' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:447:2: note: previous definition of 'LTC_ASN1_EOL' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:448:2: error: redeclaration of enumerator 'LTC_ASN1_BOOLEAN' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:448:2: note: previous definition of 'LTC_ASN1_BOOLEAN' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:449:2: error: redeclaration of enumerator 'LTC_ASN1_INTEGER' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:449:2: note: previous definition of 'LTC_ASN1_INTEGER' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:450:2: error: redeclaration of enumerator 'LTC_ASN1_SHORT_INTEGER' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:450:2: note: previous definition of 'LTC_ASN1_SHORT_INTEGER' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:451:2: error: redeclaration of enumerator 'LTC_ASN1_BIT_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:451:2: note: previous definition of 'LTC_ASN1_BIT_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:453:2: error: redeclaration of enumerator 'LTC_ASN1_OCTET_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:453:2: note: previous definition of 'LTC_ASN1_OCTET_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:454:2: error: redeclaration of enumerator 'LTC_ASN1_NULL' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:454:2: note: previous definition of 'LTC_ASN1_NULL' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:455:2: error: redeclaration of enumerator 'LTC_ASN1_OBJECT_IDENTIFIER' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:455:2: note: previous definition of 'LTC_ASN1_OBJECT_IDENTIFIER' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:456:2: error: redeclaration of enumerator 'LTC_ASN1_IA5_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:456:2: note: previous definition of 'LTC_ASN1_IA5_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:457:2: error: redeclaration of enumerator 'LTC_ASN1_PRINTABLE_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:457:2: note: previous definition of 'LTC_ASN1_PRINTABLE_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:459:2: error: redeclaration of enumerator 'LTC_ASN1_UTF8_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:459:2: note: previous definition of 'LTC_ASN1_UTF8_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:460:2: error: redeclaration of enumerator 'LTC_ASN1_UTCTIME' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:460:2: note: previous definition of 'LTC_ASN1_UTCTIME' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:461:2: error: redeclaration of enumerator 'LTC_ASN1_CHOICE' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:461:2: note: previous definition of 'LTC_ASN1_CHOICE' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:462:2: error: redeclaration of enumerator 'LTC_ASN1_SEQUENCE' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:462:2: note: previous definition of 'LTC_ASN1_SEQUENCE' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:463:2: error: redeclaration of enumerator 'LTC_ASN1_SET' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:463:2: note: previous definition of 'LTC_ASN1_SET' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:465:2: error: redeclaration of enumerator 'LTC_ASN1_SETOF' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:465:2: note: previous definition of 'LTC_ASN1_SETOF' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:466:2: error: redeclaration of enumerator 'LTC_ASN1_RAW_BIT_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:466:2: note: previous definition of 'LTC_ASN1_RAW_BIT_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:467:2: error: redeclaration of enumerator 'LTC_ASN1_TELETEX_STRING' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:467:2: note: previous definition of 'LTC_ASN1_TELETEX_STRING' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:468:2: error: redeclaration of enumerator 'LTC_ASN1_CONSTRUCTED' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:468:2: note: previous definition of 'LTC_ASN1_CONSTRUCTED' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:469:2: error: redeclaration of enumerator 'LTC_ASN1_CONTEXT_SPECIFIC' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:469:2: note: previous definition of 'LTC_ASN1_CONTEXT_SPECIFIC' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:473:16: error: redefinition of 'struct ltc_asn1_list_' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:473:16: note: originally defined here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:484:3: error: conflicting types for 'ltc_asn1_list' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:484:3: note: previous declaration of 'ltc_asn1_list' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:497:5: error: conflicting types for 'der_encode_sequence_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:497:5: note: previous declaration of 'der_encode_sequence_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:502:5: error: conflicting types for 'der_decode_sequence_ex' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:502:5: note: previous declaration of 'der_decode_sequence_ex' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:507:5: error: conflicting types for 'der_length_sequence' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:507:5: note: previous declaration of 'der_length_sequence' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:515:5: error: conflicting types for 'der_decode_subject_public_key_info' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:515:5: note: previous declaration of 'der_decode_subject_public_key_info' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:522:5: error: conflicting types for 'der_encode_set' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:522:5: note: previous declaration of 'der_encode_set' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:525:5: error: conflicting types for 'der_encode_setof' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:525:5: note: previous declaration of 'der_encode_setof' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:533:6: error: conflicting types for 'der_decode_sequence_flexi' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:533:6: note: previous declaration of 'der_decode_sequence_flexi' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:535:6: error: conflicting types for 'der_sequence_free' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:535:6: note: previous declaration of 'der_sequence_free' was here 
In file included from ../../../core/./../apps/libtomcrypt/src/headers/tomcrypt.h:80:0, 
       from sender-node.c:43: 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:624:5: error: conflicting types for 'der_decode_choice' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:624:5: note: previous declaration of 'der_decode_choice' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:638:3: error: conflicting types for 'ltc_utctime' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:638:3: note: previous declaration of 'ltc_utctime' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:640:5: error: conflicting types for 'der_encode_utctime' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:640:5: note: previous declaration of 'der_encode_utctime' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:643:5: error: conflicting types for 'der_decode_utctime' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:643:5: note: previous declaration of 'der_decode_utctime' was here 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:646:5: error: conflicting types for 'der_length_utctime' 
../../../core/./../apps/libtomcrypt/src/headers/tomcrypt_pk.h:646:5: note: previous declaration of 'der_length_utctime' was here 
make: *** [sender-node.co] Error 1 
Process returned error code 2 

これは私がfunctionprng_state * prngを呼び出すことに疲れた部分です。

prng_state* prng; 
    rsa_key* key; 
    int result = rsa_make_key(
    prng, 
    0, 
    rsa_get_size(key), 
    65537, 
    key); 

は、私はまた、

#include "../apps/libtomcrypt/src/headers/tomcrypt.h" 
+0

これは含まれていますか? libtomcryptライブラリの場合は – StoryTeller

+0

となります。インクルードの残りはtomcrypt.hの中にあります。これは の#include " "tomcrypt_mac.h" の#include "tomcrypt_hash.h" の#include "tomcrypt_cipher.h" の#include "tomcrypt_macros.h" の#include "tomcrypt_cfg.h" の#includeの内側に含めるのリストです" の#include "tomcrypt_pk tomcrypt_pkcs.h " の#include" tomcrypt_argchk.h " の#include" tomcrypt_misc.h " の#include "tomcrypt_math.h" の#include" tomcrypt_pk.h" の#include" tomcrypt_prng.h。 h " – lol

+0

はい、私はgithubページを訪問しました。それが私が尋ねた理由です。トップレベルヘッダー( 'tomcrypt.h')のみがインクルードされます。私は個人的には、著者がそれに対して安全なガードのためにいくつかの 'エラー'ディレクティブを追加できたと感じています。 – StoryTeller

答えて

2

は私がtomcrypt.hまたは `tomcrypt_pk.h」ファイルのいずれかが複数回含まれますと仮定したコードでは、ライブラリとそのため、同じもののためtomcrypt.hが含まれていました複数回定義されます。

これが理由であれば、私はそれぞれ、上部に次の行を追加し、tomcrypt.hの終わりにしたい試すために。

上部に

:終わり

#ifndef _TOMCRYPT_H 
#define _TOMCRYPT_H 

#endif 

繰り返しこのtomcat_pk.h用:

#ifndef _TOMCRYPT_PK_H 
#define _TOMCRYPT_PK_H 
... 
#endif 

コードは、次にコンパイルした場合、問題はその同じヘッダでありますファイルはコンパイル単位に複数回(直接的または間接的に)含まれますが、他のヘッダファイルにも適用されます。 tomcrypt_pk.h。したがって、あなたがtomcrypt_pk.hなどのファイルを直接.c-ファイルに入れたかどうかを確認したり、別のヘッダーファイル(tomcrypt.hなど)にもこのファイルが含まれているかどうかを確認できます。

この場合、問題を解決する主な2つの方法があります。(1)不要なinclude文を削除します。(2)インクルードファイルが複数回解釈されないように保護します。 #ifndef - #defineの文で定義を囲むことによって。私はオプション(2)よりもオプション(1)を好むだろう。

StoryTellerによって指摘されているように、このような#ifndef-#define文を導入していない場合でも、第三者のライブラリファイルを編集することはお勧めしません。オプション(1)に従うことができない場合でも、ファイル内のそれぞれの#includeの文を囲むことができます。

// in myFile.c: 
#ifndef _TOMCRYPT_PK_H 
#define _TOMCRYPT_PH_H 
#include "tomcrypt_pk.h" 
#endif 
+1

#ifndef _TOMCRYPT_H #define _TOMCRYPT_Hはライブラリをダウンロードすると既にtomcrypt.hに追加されています – lol

+0

Hm - 'tomcrypt_pk.h'についてこのファイルにはそのような保護が含まれていますか? –

+0

いいえ、それはないので、私はちょうど#ifndefを追加します_TOMCRYPT_PT_H #define _TOMCRYPT_PT_H? – lol

関連する問題