gpt4 book ai didi

c - 如何在 armv7 架构中构建 mcrypt 库?

转载 作者:太空狗 更新时间:2023-10-29 16:36:12 25 4
gpt4 key购买 nike

我正在使用 PJSIP 开源库进行 AES 加密。用于AES 加密 的库不是C 编程中可用的内置库。因此,我选择了用于 AES 加密的外部库 (Libmcrypt)

我关注此站点以将 libmcrypt 库构建到我的机器 (MAC OSX) 中。 https://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/

https://gist.github.com/bricef/2436364

在构建这些库时,它在 /usr/local/lib/ 路径中创建了一个动态库 (libmcrypt.dylib)。当使用 lipo -info libmcrypt.dylib 命令检查该库的架构时,它显示

Non-fat file: libmcrypt.dylib is architecture: x86_64

但我正在使用 PJSIP 为 AndroidIOS 设备创建这些应用程序。他们的架构是armeabi(android)和armv7(IOS)。

将 libmcrypt.dylib(x86_64) 链接到 PJSIP 库(armv7) 时,显示以下错误。

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

我对这些架构了解不多。是否可以将 libmcrypt.dylib(x86_64) 转换为 libmcrypt.dylib(armv7)。如果是,请指导我如何将其转换为 armv7 架构,如果不是,那么很抱歉浪费您的时间。

提前致谢!

最佳答案

不要使用 mcrypt。 MCrypt 库尚未updated since 2007 .是highly recommended您切换到 OpenSSL 或其他维护的加密项目。

PJSIP 文档包含有关如何在 IOS 和 Android 设备上使用 OpenSSL 的说明:

关于c - 如何在 armv7 架构中构建 mcrypt 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45737699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com