我正在尝试编译一个包含以下内容的小.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进行编译?
您的包含路径表明您应该针对 系统的 OpenSSL安装进行编译。您不应该将.h文件放在包目录中- 应该从中进行选择/usr/include/openssl。
.h
/usr/include/openssl
普通的OpenSSL软件包(libssl)不包含.h文件-您还需要安装开发软件包。它libssl- dev在Debian,Ubuntu和类似发行版上以及libssl-develCentOS,Fedora,Red Hat和类似发行版上被命名。
libssl
libssl- dev
libssl-devel