jah*_*max 67 c linux compiler-construction openssl compiler-errors
我正在尝试编译一个包含以下内容的小型.c文件:
#include <openssl/ssl.h>
#include <openssl/rsa.h>
#include <openssl/x509.h>
#include <openssl/evp.h>
Run Code Online (Sandbox Code Playgroud)
在我拥有.c文件的同一个文件夹中,我有一个/ openssl包含所有这些文件(以及更多),同样在synaptic包管理器中我看到安装了OpenSSL,我试图用这个编译:
gcc -o Opentest Opentest.c -lcrypto
Run Code Online (Sandbox Code Playgroud)
但我总是得到错误:
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
Run Code Online (Sandbox Code Playgroud)
我想编译的文件只是一个.c文件,没有Makefile或./configure.
我已经尝试过:
env CFLAGS=-I/path/to/openssl/
Run Code Online (Sandbox Code Playgroud)
并尝试再次编译,但我得到相同的错误.
我应该怎么做才能用openssl编译包括?
caf*_*caf 100
您的包含路径表明您应该针对系统的 OpenSSL安装进行编译.你不应该.h在你的包目录中有这些文件 - 应该从中提取它们/usr/include/openssl.
普通的OpenSSL包(libssl)不包含.h文件 - 您还需要安装开发包.这是libssl-dev在Debian,Ubuntu和类似的发行版上以及libssl-develCentOS,Fedora,Red Hat和类似版本上命名的.
Bor*_*lid 10
-I正确使用标志gcc.
gcc -I/path/to/openssl/ -o Opentest -lcrypto Opentest.c
本-I应指向包含的目录openssl文件夹.
小智 7
我的英语不是很好,但我在一个中文网页上找到了这个问题的补丁
yum install openssl yum install openssl-devel
安装这个和它的它,在centos 5.4和keepalived-1.2.7测试]
您需要包含库路径 (-L/usr/local/lib/)
gcc -o Opentest Opentest.c -L/usr/local/lib/ -lssl -lcrypto
这个对我有用。
| 归档时间: |
|
| 查看次数: |
164791 次 |
| 最近记录: |