iOS開發問題之:支付寶集成報錯openssl/asn1.h file not found

支付寶出現的'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

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章