我试图在使用OpenSSL 1.0.0的Ubuntu 10.04 LTS上构建一些代码。当我运行make时,它使用“-lssl”选项调用g++。资料来源包括:

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

我跑:

$ sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

但是我猜openssl包不包括这个库。我在make时得到这些错误:

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

如何在Ubuntu 10.04 LTS上安装OpenSSL c++库?

我为-l选项做了一个man g++和(在“链接选项”下),它声明:“链接器为库搜索一个标准目录列表…”和“搜索的目录包括几个标准系统目录…”这些标准系统目录是什么?


当前回答

安装libcurl4-openssl-dev

其他回答

请到官方网站下载对应版本的源代码 然后解压缩更新包并执行以下命令 ./config——prefix=/usr/local/ssl——openssldir=/usr/local/ssl -Wl,-rpath,/usr/local/ssl/lib shared

因为默认只生成静态库,如果您想要动态库,可以添加“shared”选项

Make && Make安装

您需要安装开发包,即libssl-dev:

sudo apt-get install libssl-dev

安装libcurl4-openssl-dev

您需要openssl-devel包。 至少我认为Ubuntu上是-devel。可能是-dev。这是两者之一。

另一种在Ubuntu上从源代码安装openssl库的方法如下,这里WORKDIR是你的工作目录:

sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
sudo ldconfig