Как использовать OpenSSL в GCC?

Я пытаюсь использовать openssl в программе gcc, но он не работает.

g++ server.cpp /usr/lib/libssl.a -o server 

дает сообщение об ошибке, как и все с опцией -l . Что я должен ввести в командной строке для связи с openssl? Файл /usr/lib/libssl.a существует, но, тем не менее, я все еще получаю ошибку компоновщика, no such function MD5() exists .

Не зная точных ошибок, которые вы видите, трудно обеспечить точное решение. Вот моя лучшая попытка.

Из предоставленной вами информации звучит так, как будто компоновщик терпит неудачу, потому что он не может найти ссылку на функцию md5 в libssl.a. Я считаю, что эта функция действительно находится в libcrypto, поэтому вам может понадобиться указать эту библиотеку.

g++ server.cpp -L/usr/lib -lssl -lcrypto -o server

Вы или другие пользователи могут найти эту статью в статье developerWorks :

В нем описывается большинство вещей, которые вам нужно знать, чтобы сфокусироваться на OpenSSL и C / C ++. Если вы обнаружите, что выполняете большинство шагов, это может помочь вам понять, что нужно делать.

Удачи.

В Eclipse IDE выберите Свойство Project -> c / c ++ Build -> Настройки gcc c linker (из настроек инструмента) -> добавить в путь поиска библиотеки (-L)

/ usr / lib -lssl -lcrypto

В дополнение к принятым ответам я не смог составить компиляцию примера OpenSSL для AES-CCM:

https://github.com/openssl/openssl/blob/master/demos/evp/aesccm.c

Чтобы он работал, мне нужно было добавить еще две вещи:

  • Библиотека динамической связи: -ldl
  • Библиотека PThread для использования поддержки streamов POSIX: -pthread (добавление непосредственно библиотеки с помощью -lpthread не рекомендуется )
  • Почему компиляторы настолько глупы?
  • Что такое опция -fPIE для независимых по позиции исполняемых файлов в gcc и ld?
  • Что такое Microsoft Visual Studio, эквивалентная опции GCC ld - whall-archive
  • Почему фатальная ошибка «LNK1104: невозможно открыть файл« C: \ Program.obj »возникает при компиляции проекта C ++ в Visual Studio?
  • Могу ли я смешивать статические и общедоступные библиотеки при связывании?
  • ошибка LNK2005: уже определена - C ++
  • Почему порядок, в котором связаны библиотеки, иногда вызывает ошибки в GCC?
  • Порядок инициализации статических переменных
  • Interesting Posts

    Моя кошка сидела на моем ноутбуке, теперь правая часть моей клавиатуры вводит неправильные символы

    Извлекать сообщения из файлов OST / PST?

    ExpandableListView – скрыть индикатор для групп без детей

    Как вы изменяете размер Fancybox во время выполнения?

    проверить загрузку файла с помощью rspec – rails

    Как добавить документацию API Java в Eclipse?

    OSX: Snort: ERROR: /etc/snort/../rules/local.rules(0) Не удается открыть файл правил «/etc/snort/../rules/local.rules»: такого файла или каталога нет

    Получить новый идентификатор первичного ключа записи из запроса вставки mysql?

    Как сделать мой ArrayList streamобезопасным? Другой подход к проблеме в Java?

    API Google Таблиц v4 получает ответы HTTP 401 для общедоступных каналов

    Неопределенная ссылка на vtable

    Ошибка API-интерфейса Asp.Net: тип «ObjectContent`1» не смог сериализовать тело ответа для типа контента «application / xml»; кодировка = UTF-8′

    как создать веб-сервис из wsdl

    Когда важная декларация CSS не работает?

    Можно ли создать загрузочный CD Extra (т. Е. 1 аудиодорожку и 1 загрузочную дорожку данных)?

    Давайте будем гением компьютера.