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

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译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

以上是关于编译mosquitto客户端报错:fatal error: openssl/opensslconf.h: No such file or directory(需要安装开发包:libssl-dev)的主要内容,如果未能解决你的问题,请参考以下文章

转:使用Mosquitto-Auth-Plugin对mqtt客户端进行验证

错误记录编译 ijkplayer 报错 (fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory )

错误记录编译 ijkplayer 报错 (fatal error: libyuv.h: No such file or directory #include “libyuv.h“ )

错误记录编译 Linux 内核报错 ( fatal error: openssl/opensslv.h: No such file or directory )

cuda报错: nvcc fatal : Host compiler targets unsupported OS

MatConvNet编译报错:Error using mex nvcc fatal : ‘-DNDEBUG’: expected a number 解决办法