Не могу добавить статическую библиотеку - PullRequest
0 голосов
/ 01 декабря 2009

Я пытаюсь собрать DLL, и она должна ссылаться на библиотеку, а именно libeay32.dll из пакета openssl. Кажется, я не могу добавить его в качестве ссылки в разделе «Страницы свойств» -> «Общие свойства» -> «Добавить новую ссылку», поскольку он выдает ошибку «Не удалось добавить ссылку на файл« C: \ OpenSSL \ libeay32.dll », поскольку он не является ни. Сборка NET или зарегистрированный Active X Control. Я могу скомпилировать и запустить его, когда использую Linker-> Input-> Additional Dependencies и устанавливаю статическую lib 'C: \ OpenSSL \ lib \ libeay32.lib'. Но конечный результат - это I нужно также включить libeay32.dll. Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 01 декабря 2009

Вы все делаете правильно. «Добавить ссылку» предназначен для сборок .NET (и компонентов COM, используемых через взаимодействие .NET COM). Второй подход, который вы попробовали, - это правильный способ сделать это для нативного кода, но libeay32.lib не является статической библиотекой; это библиотека экспорта для DLL.

1 голос
/ 01 декабря 2009

Как отметил Павел, libeay32.lib - это не полная библиотека, с которой ваше приложение может быть статически связано и запущено. Используется для разрешения ссылки на динамическую библиотеку DLL. Итак, ваше приложение все еще нуждается в dll для запуска.

http://msdn.microsoft.com/en-us/library/f0z8kac4.aspx

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