致命错误:openssl/ssl.h:没有这样的文件或目录

Posted

技术标签:

【中文标题】致命错误:openssl/ssl.h:没有这样的文件或目录【英文标题】:fatal error: openssl/ssl.h: No such file or directory 【发布时间】:2018-10-02 13:48:57 【问题描述】:

我来自 Python,刚接触 C++,正在尝试测试一个通过 websocket 检索数据的程序。

我用

复制了this github repository
  git clone https://github.com/tensaix2j/binacpp

我正在尝试运行示例,所以我填写了 api 密钥和密码:

 /binacpp/example/example.cpp

现在我正在尝试从 /binacpp/example 文件夹中

make example

我收到了这个错误:

Making example


g++ -I../lib/libcurl-7.56.0/include -I../lib/jsoncpp-1.8.3/include -I../lib/libwebsockets-2.4.0/include -I../lib/libbinacpp/include \
example.cpp \
-L../lib/libcurl-7.56.0/lib \
-L../lib/libwebsockets-2.4.0/lib \
-L../lib/libbinacpp/lib \
-lcurl -ljsoncpp  -lcrypto -lwebsockets -lbinacpp -o example
In file included from ../lib/libbinacpp/include/binacpp_websocket.h:16:0,
                 from example.cpp:8:
../lib/libwebsockets-2.4.0/include/libwebsockets.h:214:10: fatal error: openssl/ssl.h: No such file or directory
 #include <openssl/ssl.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
Makefile:25: recipe for target 'example' failed
make: *** [example] Error 1

user@ip:/opt/binacpp/example$ ^C
user@ip:/opt/binacpp/example$ ./example.run.sh
./example: error while loading shared libraries: librtmp.so.0: cannot open shared object file: No such file or directory

我正在尝试找出为什么会出现此错误以及如何处理它?

1) 它在自述文件中说依赖项是

  jsoncpp-1.8.3
  libcurl-7.56.0
  libwebsockets-2.4.0

但是这些都包含在存储库中

2) 如果假设通常已经安装了 openssl,我怎么知道要安装哪个版本?以及如何安装它,因为在 Python 中,您只需使用 pip,所有内容都将放置在正确的目录中,以便将其包含在您的程序中。

【问题讨论】:

该错误是因为您没有安装 openssl 标头。如果您没有安装 openssl 期,我会感到非常惊讶,但是许多 Linux 发行版将运行时组件和开发人员组件拆分为单独的包。您需要查看您的发行版文档以获取安装说明。 【参考方案1】:

好像没有安装openssl的开发包:

https://***.com/a/3016986/5147260

【讨论】:

以上是关于致命错误:openssl/ssl.h:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

Xcode gRPC-Core 错误:找不到“openssl_grpc/ssl.h”文件

[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127

fatal error: krb5.h: 没有那个文件或目录

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory