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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM