编译mosquitto客户端报错:fatal error: openssl/opensslconf.h: No such file or directory(需要安装开发包:libssl-dev)

问题背景

今天,编译mosquitto的时候报错了,提示:

root@inspur001:/userdata/testKYAI/mosquitto/mosquitto-1.6.10# 
root@inspur001:/userdata/testKYAI/mosquitto/mosquitto-1.6.10# make
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory '/userdata/testKYAI/mosquitto/mosquitto-1.6.10/lib'
cc  -I. -I.. -I../lib -I../src/deps -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -Wall -ggdb -O2 -fPIC -c mosquitto.c -o mosquitto.o
In file included from mosquitto.c:17:
../config.h:48:12: fatal error: openssl/opensslconf.h: No such file or directory
   48 | #  include <openssl/opensslconf.h>
      |            ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:101: mosquitto.o] Error 1
make[1]: Leaving directory '/userdata/testKYAI/mosquitto/mosquitto-1.6.10/lib'
make: *** [Makefile:59: mosquitto] Error 2
root@inspur001:/userdata/testKYAI/mosquitto/mosquitto-1.6.10# 

原因

缺少 OpenSSL 的头文件,需要安装 OpenSSL 的开发包

解决办法

执行命令后,从 Ubuntu 软件源中下载并安装 OpenSSL 的开发包

sudo apt update
sudo apt install libssl-dev

在这里插入图片描述

如果安装成功,应该能够在 “/usr/include/openssl” 目录下找到 “opensslconf.h” 文件。

我的在这个地方:

在这里插入图片描述

/usr/include/x86_64-linux-gnu/openssl/opensslconf.h

如果问题仍然存在,需要检查编译命令是否正确指定了 OpenSSL 库和头文件的位置。例如,在使用 gcc 编译器时,需要使用以下选项:

gcc -o myapp myapp.c -lssl -lcrypto

其中,“-lssl” 和 “-lcrypto” 选项分别指定 OpenSSL 库的名称

参考文章:篇8:fatal error:openssl/opensslconf.h:No such file or directory

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Dontla

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

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

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

打赏作者

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

抵扣说明:

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

余额充值