ошибки компоновщика с openssl на VS 2008 - PullRequest
1 голос
/ 23 января 2010

Я установил openssl 0.9.8l и добавил пути включения и библиотеки в каталоги VS (Я делал это раньше при установке буст-библиотек). Но я продолжаю получать ошибки компоновщика.

В любом случае, я могу решить то же самое.

ошибки следующие

Error   1   error LNK2019: unresolved external symbol _BN_free referenced in function _main RSA.obj RSA
Error   2   error LNK2019: unresolved external symbol _BN_bn2dec referenced in function _main   RSA.obj RSA
Error   3   error LNK2019: unresolved external symbol _BN_num_bits referenced in function _main RSA.obj RSA
Error   4   error LNK2019: unresolved external symbol _BN_generate_prime referenced in function _main   RSA.obj RSA
Error   5   error LNK2019: unresolved external symbol _BN_new referenced in function _main  RSA.obj RSA
Error   6   fatal error LNK1120: 5 unresolved externals C:\Visual Studio 2008\Projects\RSA\Debug\RSA.exe    RSA

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

OpenSSL по умолчанию Многопоточная DLL (/ MD) . Точно так же, как ранее говорил Клатчко, вы должны сначала установить для своей библиотеки времени выполнения / MD и добавить соответствующие libeay32MD.lib и ssleay32MD.lib (они находятся в \ Microsoft Visual Studio 9.0 \ VC \ lib на моем компьютере) в раздел Дополнительные зависимости в Linker | Ввод. (Убедитесь, что вы сначала скопировали эти .lib файлы в нужные каталоги!)

У меня была такая же проблема, вот как я ее исправил!

Кстати, я использую бинарную версию OpenSSL для Windows. Вы можете найти его на официальном сайте OpenSSL, в разделе related / binaries.

ура!

Z.Zen

0 голосов
/ 23 января 2010

Вам также необходимо указать имена библиотек как «дополнительные зависимости».

В проекте | Свойства, вам нужно перейти на Linker | Ввод. В разделе «Дополнительные зависимости» необходимо указать имена библиотек.

Обновление

Вы хотите связать в libeay32.lib и ssleay32.lib.

У вас может быть несколько версий с именем libeayMT.lib или libeayMDd.lib. Они построены на разных версиях библиотеки времени выполнения, и вы хотите выбрать ту, которая соответствует тому, как вы строите свою программу. Вы можете найти это также в диалоге свойств в C / C ++ | Генерация кода | Библиотека времени выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...