我正在try 编译一个小程序.具有以下内容的c文件包括:

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

在同一个文件夹中,我有.c文件我有一个带有所有这些文件(以及更多)的/openssl,在synaptic package manager中,我看到安装了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或/配置.

我已经试过了:

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

并试图再次编译,但我得到了同样的错误.

为了使用OpenSSL includes进行编译,我应该做什么?

推荐答案

您的包含路径表明您应该针对system's OpenSSL安装进行编译.您的软件包目录中不应该有.h个文件-它应该从/usr/include/openssl中提取它们.

普通的OpenSSL包(libssl)不包括.h个文件-您还需要安装开发包.它在Debian、Ubuntu和类似的发行版上被命名为libssl-dev,在CentOS、Fedora、Red Hat和类似的发行版上被命名为libssl-devel.

C++相关问答推荐

GCC不警告隐式指针到整数转换'

来自stdarg.h的c中的va_args无法正常工作<>

Ruby C Api处理异常

Char变量如何在不使用方括号或花括号的情况下存储字符串,以及它如何迭代到下一个字符?

如何使用指向 struct 数组的指针并访问数组中特定索引处的 struct

获取每个循环迭代结束时的当前时间

函数的限制限定指针参数允许优化调用方函数吗?

如何使用_newindex数组我总是得到错误的参数

处理EPOLL_WAIT中的接收数据和连接关闭信号

我在反转双向链表时遇到问题

如何在双向表中实现线程安全,每个条目仅使用4位,同时避免任何全局锁?

CS50 pset 5的皱眉脸正确地处理了大多数基本单词,并且拼写判断不区分大小写.

为什么二进制文件的大小不会随着静态数据的大小而增加?

赋值两侧的后置增量,字符指针

OMP并行嵌套循环

C:面筋蛋白';为什么不刷新窗口?

可以';t从A9G模块拨打电话

当读取可能会阻塞管道中的父进程时,为什么要等待子进程?

如果类型是新的,offsetof是否与typeof一起工作?

我的代码可以与一个编译器一起使用,但不能与其他编译器一起使用