IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vscode配置openssl include和lib环境(M1 mac) -> 正文阅读

[开发工具]vscode配置openssl include和lib环境(M1 mac)

写在前面:

其实mac是unix内核的系统,默认就有openssl的环境,但是如果要使用openssl开发,都会重新来安装,你可以使用如下命令查看当前openssl版本:

openssl version

一、安装openssl

mac安装openssl有两种方式,一种是使用自带的brew工具,使用如下命令即可:

brew install openssl

这种方式默认安装最新版本的openssl,其实也可以指定版本号,如:

brew install openssl@1.1

这种只要系统环境没问题可以直接安装成功,这里说的系统环境主要是指brew能否正常使用安装。

安装成功可以使用如下命令查看安装地址:

whereis openssl

一般情况下,M1及之后的安装路径为

/opt/homebrew/opt/openssl@1.1

这是使用homebrew默认的安装地址。

还有一种方式是使用源码编译安装:

获取源码的方式很多,如直接在官网(/source/old/index.html)下载压缩包,或者在一个文件夹下终端使用git clone获取:

git clone git://git.openssl.org/openssl.git

或

git clone https://github.com/openssl/openssl.git

下载到本地之后(如果是压缩包,mac系统可双击解压到当前目录),然后进入目录(以openssl1.1版本为例):

cd openssl@1.1

然后使用如下命令先配置安装环境:

./config --prefix=/usr/local/openssl

注意上面这条命令,没有使用任何其他的参数,只用prefix指定了一个目录为/usr/local/openssl,这个目录是安装时include、lib和bin的目录地址,你也可以指定自己的目录,这个目录只是建议,执行过后如果没有报错就可以进行make了,

make

// 不报错继续执行

make install         // 这一步可能需要sudo权限

到这里其实如果没报错就已经安装成功了。

还需要一步将新安装的版本写入系统变量(注意.zshrc文件在? ~ 路径下,一般是隐藏的):

echo 'export PATH="/usr/local/openssl/bin:$PATH"' >> /.zshrc

你也可以直接打开这个文件写入:

vim .zshrc

//在文件结尾添加

export PATH="/usr/local/openssl/bin:$PATH"

这个时候再使用 `openssl version`命令就可以现实新安装的版本了:

kongds@kongds ~$ openssl version                                               
OpenSSL 1.1.1q  5 Jul 2022

二、配置vscode包含

既然你已经用到了openssl,那我默认你已经有了vscode配置好的C/C++环境了,接下来直接添加openssl的include和lib即可。

首先,我的vscode环境的c/c++环境是用的xcode配置的clang编译器,可以现在vscode新建一个openssltest.c文件,内容如下:

#include <stdio.h>
#include <string.h>
#include <openssl/md5.h>

int main()
{
    MD5_CTX ctx;
    unsigned char outmd[16];
    int i = 0;

    memset(outmd, 0, sizeof(outmd));
    MD5_Init(&ctx);
    MD5_Update(&ctx, "abc", 3);
    MD5_Final(outmd, &ctx);
    for (i = 0; i < 16; i++)

    {
        printf("%02X ", outmd[i]);
    }
    printf("\n");

    return 0;
}

这段代码目前没有任何意义,而且你的openssl一定会报错,你可以通过右键stdio.h头文件->转到定义,这一步可以查看stdio.h的位置,如我的:

?可以看到,这是xcode环境下的一个inlcude文件夹,我们的思路就是把openssl的include文件夹复制到这里,

首先,需要找到这个路径,在finder里面,找到应用程序,找到xcode,然后右键点击显示包内容,即可一步步找到这个路径。可以使用组合键option+command+P显示完整路径。

?如上图,右键新建文件夹openssl,

这个时候再打开一个finder窗口,找到openssl的安装路径下的include文件夹,

?注意,这个路径默认是隐藏的,你可以:

进入到这里:

?进入Macintonish HD,这个时候里面默认只有四个文件夹,但是有很多隐藏文件夹,使用组合键 "shift + command + . "(注意,这里面是三个键)显示隐藏文件夹,然后即可找到openssl的安装路径文件夹,

使用command + a全选,command + c拷贝,然后粘贴到上面那个新建的openssl文件夹内。?

到这里,include路径配置完成,这个时候vscode的头文件包含已经不会报错了,但使用openssl还需要一些静态库,所以还需要两个文件:

找到这个路径(与include在同一个文件夹下):

?最后那两个libcrypto.a和libssl.a文件就是我已经添加进来的,你需要从openssl安装目录lib下找到这两个文件复制到这里即可。

配置完成!!!


这个时候,在vscode里面就可以执行上面那段测试代码了,那是一段关于md5摘要算法的测试,但注意,不是直接右键->run,这个时候还是会报错,你需要自己编译使用如下命令:

gcc openssltest.c -lssl -lcrypto -o openssltest

?这里面最关键的就是 -lssl和-lcrypto这两个选项,这是使用openssl几乎必须的。

如果到这里没问题,那就可以使用openssl在vscode环境里愉快的开发了。

踩了不少坑,有什么问题可以问我交流!!!!!!


写在后面:

Sadly, it looks like we're not supposed to use it any more.  As you say, it's included in the 10.10 SDK, but is deliberately missing from the 10.11 SDK.

我在其他地方看到关于这个问题的起因是苹果Mac sdk自从某个版本之后不再直接支持openssl,所以原有的路径找不到,可以自行查询相关声明。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:04:10  更:2022-08-06 11:04:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:01:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码