openssl/ssl.h,No such file or directory

最近要在 android 上做一个 openssl 项目,使用 JNI ,结果 C 程序总是找不到一大堆 .h文件,所以,想到先在 Xcode 上试试,结果也是一大堆红牌错误,例如:openssl/ssl.h,提示 No such file or directory
等待 Xcode 这边正确了,再去对付android studio上的 NDK,JNI 之类

1、安装xcode命令行工具

xcode-select --install
已经安装了,xcode-select: error: command line tools are already installed, use "Software Update" to install updates

2、找到 Xcode 的 include 目录

xcode-select -p

得到安装目录

/Applications/Xcode.app/Contents/Developer

进入 开发平台对应目录

cd /Applications/Xcode.app/Contents/Developer
dhbmdeMacBook-Pro:Developer dhbm$ ls
    Applications    Makefiles    Toolchains    usr
    Library        Platforms    Tools

进入 Platforms 目录

dhbmdeMacBook-Pro:Developer dhbm$ cd Platforms
dhbmdeMacBook-Pro:Platforms dhbm$ ls
    AppleTVOS.platform        WatchSimulator.platform
    AppleTVSimulator.platform    iPhoneOS.platform
    MacOSX.platform            iPhoneSimulator.platform
    WatchOS.platform

3、我使用了 macOS 下的 Command Line Tool (命令行项目),所以到 MacOSX.platform

dhbmdeMacBook-Pro:Platforms dhbm$ cd MacOSX.platform
dhbmdeMacBook-Pro:MacOSX.platform dhbm$ ls
    Developer        ResourceRules.plist    usr
    Entitlements.plist    _CodeSignature        version.plist
    Info.plist        macOS.icns

进入 Developer 目录

cd Developer
dhbmdeMacBook-Pro:Developer dhbm$ ls
Library    SDKs    usr

进入 SDKs 目录

cd SDKs
dhbmdeMacBook-Pro:SDKs dhbm$ ls
    MacOSX.sdk    MacOSX10.13.sdk

进入 MacOSX10.13.sdk 目录

cd MacOSX10.13.sdk
dhbmdeMacBook-Pro:MacOSX10.13.sdk dhbm$ ls
    SDKSettings.plist    System            usr

进入 usr 目录

cd usr
dhbmdeMacBook-Pro:usr dhbm$ ls
    bin    include    lib    share

进入 include 目录,找找有没有 openssl 目录,没有的话 mkdir

find . -name openssl
    ./openssl
    (我创建之后记录的,所以,该目录已经存在了)

4、完整的路径是,我不熟练,所以,一步一步的走进来的

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include

5、再开一个Terminal,找到系统安装的 openssl 以及 include 目录

戍边记录一下查看macod 版本号命令

sw_vers
    ProductName:    Mac OS X
    ProductVersion:    10.13.1
    BuildVersion:    17B48

uname
    Darwin

查看 openssl 版本

openssl version
    OpenSSL 1.0.2n  7 Dec 2017

找到 openssl 的 include

cd /usr/local/Cellar/openssl/1.0.2n/include

6、copy openssl 目录到 Xcode 的开发目录

确认一下当前目录

pwd
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include

copy过来 openssl 目录

sudo cp -R /usr/local/Cellar/openssl/1.0.2n/include/openssl openssl

再次打开刚才建立的项目,发现 copy 过来的 ssl.h 里面没有红牌错误了!

建立项目时,我直接把 /usr/local/Cellar/openssl/1.0.2n/include/openssl 添加到了我的项目(add files to XXX)
先记录下来以上过程,后续待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈虎123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值