В процессе компиляции появляются ошибки типа
..undefined reference to `BN_cmp'
, хотя я включаю <openssl/bn.h>
и запускаю gcc -lssl -lcrypto test.c -o test
, может кто-нибудь помочь? (openssl libssl1.0.0, libssl-dev установлены)
Решение так же просто как добавление -l
флаги в конце:
gcc test.c -o test -lssl -lcrypto
Порядок имеет значение потому что ld
так как Ubuntu 11.04 вызывается с -as-needed
переключитесь по умолчанию, так, чтобы файлы/библиотеки, которые зависят от других библиотек, прибыли перед этими другими библиотеками, т.е. test.c
потребности libcrypto
, таким образом, это должно прибыть прежде -lcrypto
.
Для получения дополнительной информации посмотрите Переход Набора инструментальных средств у Аккуратного Нарвала.