Почему я получаю & ldquo; неопределенную ссылку & rdquo; ошибки при связывании с OpenSSL?

В процессе компиляции появляются ошибки типа

..undefined reference to `BN_cmp'

, хотя я включаю <openssl/bn.h>

и запускаю gcc -lssl -lcrypto test.c -o test

, может кто-нибудь помочь? (openssl libssl1.0.0, libssl-dev установлены)

7
задан 29 September 2012 в 02:11

1 ответ

Решение так же просто как добавление -l флаги в конце:

gcc test.c -o test -lssl -lcrypto

Порядок имеет значение потому что ld так как Ubuntu 11.04 вызывается с -as-needed переключитесь по умолчанию, так, чтобы файлы/библиотеки, которые зависят от других библиотек, прибыли перед этими другими библиотеками, т.е. test.c потребности libcrypto, таким образом, это должно прибыть прежде -lcrypto.

Для получения дополнительной информации посмотрите Переход Набора инструментальных средств у Аккуратного Нарвала.

13
ответ дан 29 September 2012 в 02:11

Другие вопросы по тегам:

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