一尘不染

如何使用OpenSSL include编译.c文件?

linux

我正在尝试编译一个包含以下内容的小.c文件:

#include <openssl/ssl.h>
#include <openssl/rsa.h>
#include <openssl/x509.h>
#include <openssl/evp.h>

在我拥有.c文件的同一文件夹中,我拥有带有所有这些文件(以及更多文件)的/
openssl,也在突触包管理器中,我看到安装了OpenSSL,我正在尝试使用以下方法进行编译:

gcc -o Opentest Opentest.c -lcrypto

但我总是得到错误:

error: openssl/ssl.h: No such file or directory
error: openssl/rsa.h: No such file or directory
error: openssl/x509.h: No such file or directory
error: openssl/evp.h: No such file or directory

我要编译的文件只是一个.c文件,没有Makefile或./configure。

我已经尝试过:

env CFLAGS=-I/path/to/openssl/

并尝试再次编译,但我得到相同的错误。

我应该怎么做才能用openssl include进行编译?


阅读 876

收藏
2020-06-02

共1个答案

一尘不染

您的包含路径表明您应该针对 系统的 OpenSSL安装进行编译。您不应该将.h文件放在包目录中-
应该从中进行选择/usr/include/openssl

普通的OpenSSL软件包(libssl)不包含.h文件-您还需要安装开发软件包。它libssl- dev在Debian,Ubuntu和类似发行版上以及libssl-develCentOS,Fedora,Red Hat和类似发行版上被命名。

2020-06-02