无法为 IOS 编译 Crypto++ 库

Can't Compile Crypto++ Library for IOS

我正在尝试为 ios 构建静态 cryptopp 库。我的步骤来自这些网站: http://cryptopp.com/wiki/IOS_(Command_Line)#Xcode_Project
https://github.com/noloader/cryptopp-5.6.2-ios
https://www.cryptopp.com/

1.) 我下载了最新的cryptopp 5.6.3版本
2.) 我下载了 noloader 的 cryptopp-5.6.2-ios 因为它已经更新:

setenv-ios.sh - i had to edit this to search for sdk 9.2
GNUmakefile
config.h
build-for-ios.sh


3.) 我将这四个文件复制到我的 cryptopp 5.6.3 目录并替换了 GNUmakefile 和 config.h
4.) 我首先检查了 IOS_Command_Line 调用 setenv-ios.sh 的指令。
5.) 然后,正如 noloader 所说,运行 build-for-ios.sh.

但是,我收到了这个错误:


是否有人使用最新的 ios SDK 和 cryptopp 版本成功构建了库?如果是这样,你能给我指出正确的方向吗?谢谢。

IOS (Command Line) | Build the Library 下的文档不正确。使用 setenv-ios.sh 设置环境后,您应该使用 GNUmakefile-cross:

$ make -f GNUmakefile-cross static dynamic cryptest.exe
clang++ -DNDEBUG -g2 -Os -fPIC -pipe -Wall -Wno-delete-non-virtual-dtor  -arch armv7 -isysroot 
/Applications/Xcode-5_1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
-stdlib=libc++ -c cryptlib.cpp
clang++ -DNDEBUG -g2 -Os -fPIC -pipe -Wall -Wno-delete-non-virtual-dtor  -arch armv7 -isysroot 
/Applications/Xcode-5_1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
-stdlib=libc++ -c cpu.cpp
clang++ -DNDEBUG -g2 -Os -fPIC -pipe -Wall -Wno-delete-non-virtual-dtor  -arch armv7 -isysroot 
/Applications/Xcode-5_1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
-stdlib=libc++ -c 3way.cpp
...

认为 我们在更新 Android 程序时更新了 iOS 程序。我不确定文档更新出了什么问题。


我们在 2016 年 3 月检查了 setenv-ios.shsetenv-android.shsetenv-embedded.sh 的脚本。GNUmakefile-cross 已经在库中。另见 Commit a78b9dfa0840f92f, Added iOS environment and test script and Commit 22d6374ce7151ad0, Added Android and embedded environment and test script.

您现在需要做的是:

git clone https://github.com/weidai11/cryptopp.git
cd cryptopp

. ./setenv-ios.sh
make -f GNUmakefile-cross static dynamic cryptest.exe
...

new/updated 文件将在下一个 Crypto++ 版本(5.6.4 或 5.7.0)的 ZIP 中提供。