2016-03-04 69 views
1

我試圖建立IOS靜態cryptopp庫。我在我的基礎步驟,從這些站點: http://cryptopp.com/wiki/IOS_(Command_Line)#Xcode_Project
https://github.com/noloader/cryptopp-5.6.2-ios
https://www.cryptopp.com/無法編譯加密++庫IOS

1)我下載了最新版本cryptopp 5.6.3
2)我下載noloader的cryptopp-5.6.2-IOS becasue已更新:

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。

不過,我得到這個錯誤: enter image description here


有沒有人成功地建立了使用最新的iOS SDK和cryptopp版本圖書館嗎?如果是這樣,請你指點我正確的方向。謝謝。

+0

我看不出是什麼錯誤,因爲打印在畫面太小。你能提供錯誤的文字嗎?另外,你應該使用'GNUmakefile-cross',而不是'GNUmakefile'。最後,按照[GitHub和Git](https://www.cryptopp.com/wiki/GitHub_and_Git)中所述使用最新的Crypto ++源代碼。自5.6.3發佈以來,它有幾個移動修復程序。 – jww

+1

我們最近[運行'SETENV後指導您下一步 - * sh']添加消息(http://github.com/weidai11/cryptopp/commit/a6090c64edfc51d9d573398d4b266b2718d09546)。我正在踢我自己的屁股,因爲我早就意識到這是需要的。 – jww

回答

1

的文件是不正確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 
... 

以爲我們更新了iOS的程序時,我們更新了Android程序。我不確定文檔更新出了什麼問題。


我們的腳本庫檢查setenv-ios.shsetenv-android.shsetenv-embedded.sh三月2016 GNUmakefile-cross已經。另見Commit a78b9dfa0840f92f, Added iOS environment and test scriptCommit 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 
... 

新/更新的文件將可在接下來的加密++版本的ZIP,這將是要麼5.6.4或5.7.0 。

+0

我可以問我會用什麼來使用cryptest.exe? –

+0

@RjCristy - 我的主要用途是運行測試向量和驗證套件。但是在這個過程中提前退後一步,它確保了庫是可鏈接的。 – jww

+0

爲什麼它會被命名爲「exe」?這很混亂,因爲我們正在談論Xcode(和Mac,我們知道它不會執行exe)?對不起,我很新C++ –