Dar*_*zer 214 c++ installation ubuntu openssl
我正在尝试在使用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>
Run Code Online (Sandbox Code Playgroud)
我跑了:
$ 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.
Run Code Online (Sandbox Code Playgroud)
但我想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
Run Code Online (Sandbox Code Playgroud)
如何在Ubuntu 10.04 LTS上安装OpenSSL C++库?
我man g++为-l选项做了一个和(在"链接选项"下),它指出:"链接器搜索库的标准目录列表......"和"搜索的目录包括几个标准系统目录......"那些标准系统目录是什么?
Nik*_*chi 447
您想要安装开发包,它是libssl-dev:
sudo apt-get install libssl-dev
Run Code Online (Sandbox Code Playgroud)
Jes*_*les 29
所有这些答案都非常过时,并且从包仍在开发的时候开始。您现在可以使用下面列出的“正常”命令:
sudo apt install openssl
Run Code Online (Sandbox Code Playgroud)
编辑:OP的问题措辞不好......毕竟,OpenSSL本身就是一个库,所以我在回答之前太快地阅读了他的问题。上面的命令安装“普通”OpenSSL。
在问题的底部,他提到make失败了,这表明他正在手动编译该包。是的,即使您下载了 TAR 球,它也会包含所有的openssl和libssl文件,您可以从中make获取。
OP真正需要的是OpenSSL Development Library,在这种情况下,您可以首先使用上述命令安装 OpenSSL,然后运行以下命令:
sudo apt install libssl-dev
Run Code Online (Sandbox Code Playgroud)
更多信息:https://linuxtect.com/how-to-install-openssl-libraries-on-ubuntu-debian-mint/
小智 14
我怎么能为自己想出这个(除了在这里问这个问题)?我可以告诉apt-get列出所有包,grep for ssl吗?或者我是否需要知道"lib*-dev"命名约定?
如果您正在链接,-lfoo则可能是库libfoo.so.库本身可能是libfoo包的一部分,并且标头在libfoo-dev您发现的包中.
有些人使用GUI"synaptic"app(sudo synaptic)来定位和安装软件包,但我更喜欢使用命令行.从命令行中找到正确的包更容易的一件事是apt-get支持bash完成的事实.
尝试键入sudo apt-get install libssl然后点击tab以查看匹配的软件包名称列表(当您需要选择具有多个版本或其他可用变体的软件包的正确版本时,这可能会有所帮助).
Bash完成实际上非常有用...例如,您还可以apt-get通过键入sudo apt-get然后点击来获取支持的命令列表tab.
小智 6
在 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
Run Code Online (Sandbox Code Playgroud)
小智 5
我在这里找到了详细的解决方案:在Linux上手动安装OpenSSL
从博客文章...:
下载,编译和安装的步骤如下(我正在安装以下版本1.0.1g;请用您的版本号替换“ 1.0.1g”):
步骤1:下载OpenSSL:
运行以下命令:
$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz同样,下载MD5哈希值以仅出于分类目的验证下载文件的完整性。在您从网站下载OpenSSL文件的文件夹中:
$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5步骤2:从下载的程序包中提取文件:
$ tar -xvzf openssl-1.0.1g.tar.gz现在,输入解压缩包的目录,例如openssl-1.0.1g
$ cd openssl-1.0.1g步骤3:配置OpenSSL
在可选条件下运行以下命令,以设置要在其中复制文件和文件夹的前缀和目录。
$ ./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl您可以将“ / usr / local / openssl”替换为要在其中复制文件和文件夹的目录路径。但是请确保在执行此步骤时检查终端上是否有任何错误消息。
步骤– 4:编译OpenSSL
要编译openssl,您将需要运行2条命令:make,进行如下安装:
$ make注意:检查是否有任何错误消息以供验证。
步骤-5:安装OpenSSL:
$ sudo make install或没有须藤,
$ make install而已。OpenSSL已成功安装。您可以运行version命令,以查看它是否有效,如下所示:
$ /usr/local/openssl/bin/openssl version
OpenSSL 1.0.1g 7 Apr 2014
| 归档时间: |
|
| 查看次数: |
363518 次 |
| 最近记录: |