支付宝出现的'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

原文地址:https://www.cnblogs.com/somebodywx/p/5852028.html