支付寶出現的'openssl/asn1.h file not found'的問題
按照支付寶官網配置流程的會遇到'openssl/asn1.h file not found'的問題
集成支付寶,報上面的錯誤。需要在Header Search Paths中添加openssl文件夾的路徑
果把openssl這個文件導入到了這個工程目錄下 :項目名稱/XX文件夾/支付寶SDK/openssl ,
那麼在Header Search Paths 的設置就得改爲 "$(SRCROOT)/項目名稱/XX文件夾/支付寶SDK",
看官方的demo中吧openssl這個文件放到了項目根目錄下,所以"Header Search Paths"只需要設置爲:"$(SRCROOT)/項目名稱"
也有一些資料說使用$(PROJECT_DIR)代替$(SRCROOT),發現二者都可以。
注意:Header Search Paths中設置路徑只需要設置到openssl的父文件夾就可以了,並且要用""括起來.
$(PROJECT_DIR)和$(SRCROOT)區別:
有人說:
$(SRCROOT)代表的是項目根目錄下
$(PROJECT_DIR)代表的是整個項目
也有人說:
$(SRCROOT)宏和$(PROJECT_DIR)宏都指xxx.xcodeproj所在的父目錄
Xcode Build Search Paths設置
include < > 引用編譯器的類庫路徑下的頭文件
include " " 引用工程目錄的相對路徑的頭文件
include 是編譯指令,在編譯時,編譯器會將相對路徑替換成絕對路徑,因此,頭文件絕對路徑=搜索路徑+相對路徑。
Xcode Build Settings 下 Search Paths設置搜索路徑
Header Search Paths:頭文件搜索路徑設置
$(SRCROOT)宏和$(PROJECT_DIR)宏都指xxx.xcodeproj所在的父目錄
例如:引用工程testDemo/scr/test.h 頭文件,
Header Search Paths中添加$(SRCROOT),引用爲include “scr/test.h"
如果在Header Search Paths中添加$(SRCROOT)/scr,那麼頭文件引用直接引用 include “test.h