Açık kaynak kütüphanesi ile PJSIP AES Şifreleme üzerinde çalışıyorum. AES Şifreleme için kullanılan kütüphane, C Programlama'da bulunan yerleşik kütüphane değildir. Yani, AES Şifreleme için harici kütüphane (Libmcrypt) ile gitti.Armv7 mimarisinde mcrypt kütüphanesi nasıl oluşturulur?
Bu siteyi libmcrypt kütüphanesini makineme (MAC OSX) kurmak için takip ettim.
https://gist.github.com/bricef/2436364
https://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/
o /usr/local/lib/ yolunda bir dinamik kitaplık (libmcrypt.dylib) oluşturduklarınız kütüphane inşa ederken. kullanarak bu kütüphanenin mimarisini kontrol ederken lipo -bilgi libmcrypt.dylib komutu, buNon-fat file: libmcrypt.dylib is architecture: x86_64
gösterir Ama
Android ve PJSIP kullanılarak
IOS cihazlar için bu uygulamaları oluşturuyorum. Mimarileri
armeabi (android) ve
armv7 (IOS) şeklindedir.
libmcrypt.dylib (x86_64) dosyasını PJSIP kütüphanesine (armv7) bağlarken, aşağıdaki hataları gösterir.
Undefined symbols for architecture armv7:
"_mcrypt_enc_get_block_size", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mcrypt_generic", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mcrypt_generic_deinit", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mcrypt_generic_init", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mcrypt_module_close", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mcrypt_module_open", referenced from:
_encrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
"_mdecrypt_generic", referenced from:
_decrypt_AES in libpjsip-armv7-apple-darwin_ios.a(aes.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../bin/pjsip-test-armv7-apple-darwin_ios] Error 1
make[1]: *** [pjsip-test-armv7-apple-darwin_ios] Error 2
make: *** [all] Error 1
Bu mimariler hakkında pek bir şey bilmiyorum. Libmcrypt.dylib (x86_64) libmcrypt.dylib (armv7) 'ye dönüştürmek mümkün mü? Evet ise, o zaman nasıl onu armv7 mimarisine dönüştürmek için bana rehberlik ve zamanınızı boşa harcamama için özür dilerim.
Teşekkürler!
ARMv7. Kaynaktan çapraz derlemeniz gerekir. –
@lan Eğer bir sakıncası yoksa, x86_64 dosyasını armv7 mimarisine nasıl derlediğime bakın. – NandhaKumar
x86_64 ikili dosyalarını derlemediğinizde, kaynak kodunu çapraz olarak derlersiniz. Android/iOS için kurduğunuz geliştirme kitleri, MAC OSX sunucunuzda çalışan ve Android/iOS için armv7 ikili dosyaları üreten bir çapraz derleyici içermelidir. Uygun geliştirme ortamında mcrypt oluşturmanız gerekir. –