天天看點

iOS 使用sqlcipher和openssl加密資料庫時遇到的問題

在官網上下載下傳sqlcipher和openssl後,按照文檔進行安裝。但在編譯openssl時總是報錯:

cc -I. -I.. -I../include  -D_DARWIN_C_SOURCE -UOPENSSL_BN_ASM_PART_WORDS -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk   -c -o cryptlib.o cryptlib.c
make[1]: cc: No such file or directory
make[1]: *** [cryptlib.o] Error 1
make: *** [build_crypto] Error 1
           

看了N多文章,大緻如下:

1. 確定command line tools已經下載下傳。

2.xcode-->preference-->source trees裡openssl裡的路徑確定絕對正确,不要多空格或者回車符什麼的。

3.按照文檔将Header Search Paths setting 和Other C Flags設定正确,該導入的包也導入。

如果你確定上面的步驟都正确,而且試過了重新開機xcode和重新開機電腦的痛苦後,還是編譯不成功。請檢視一下下面這一條:

4.如果你的電腦中有兩個xcode,為了差別兩個xcode,你對xcode重命名了,請確定xcode名稱中不要包含空格或者Enter鍵。比如xcode 4.5.1 和xcode4.5.1。看出差别來了沒?

我找這個空格找了一個下午,還是受一篇關于手動編譯openssl的文章的啟發。附上文章位址,感興趣的可以看看。

iOS 編譯OpenSSL庫