Как я устанавливаю библиотеки OpenSSL по Ubuntu?

Я пытаюсь создать некоторый код Ubuntu 10.04 LTS, который использует OpenSSL 1.0.0. Когда я работаю, делают, это вызывает g ++ с "-lssl" опцией. Источник включает:

#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 пакет не включает библиотеку. Я преуспеваю, эти ошибки делают:

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

Как я устанавливаю библиотеку C++ OpenSSL по Ubuntu 10.04 LTS?

Я сделал a man g++ и (под "Опциями для Соединения") для-l опции это указывает: "Компоновщик ищет стандартный список каталогов для библиотеки...", и "Искавшие каталоги включают несколько стандартных системных каталогов..." Каковы те стандартные системные каталоги?

213
задан jww 1 February 2017 в 16:16
поделиться

4 ответа

Вы хотите установить пакет разработки, который является libssl-dev:

sudo apt-get install libssl-dev
446
ответ дан 23 November 2019 в 04:27
поделиться

apt-get install libssl-dev

26
ответ дан 23 November 2019 в 04:27
поделиться

Как я мог понять это для я (кроме того, что спрашиваю об этом вопрос здесь)? Могу я как-нибудь сказать apt-get для вывода списка всех пакетов и grep для ssl? Или мне нужно знать Соглашение об именах "lib * -dev"?

Если вы линкуете с помощью -lfoo , то скорее всего, это libfoo.so . Сама библиотека, вероятно, является частью пакета libfoo , а заголовки находятся в пакете libfoo-dev , как вы обнаружили.

Некоторые люди используют «синаптическое» приложение с графическим интерфейсом ( sudo synaptic ) для (поиска и) установки пакетов, но я предпочитаю использовать командную строку. Одна вещь, которая упрощает поиск нужного пакета из командной строки, - это тот факт, что apt-get поддерживает завершение bash.

Попробуйте ввести sudo apt-get install libssl , а затем нажмите вкладку , чтобы увидеть список совпадающих имен пакетов (что может помочь, когда вам нужно выбрать правильную версию пакета. который имеет несколько версий или других доступных вариаций).

Завершение Bash на самом деле очень полезно ... например, вы также можете получить список команд, поддерживаемых apt-get , набрав sudo apt-get и затем нажав вкладка .

14
ответ дан 23 November 2019 в 04:27
поделиться

Вам нужен пакет openssl-devel . По крайней мере, я думаю, что это -devel в Ubuntu. Может быть -dev . Это одно из двух.

3
ответ дан 23 November 2019 в 04:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: