Как установить Crypto ++ в Visual Studio 2010? - PullRequest
8 голосов
/ 08 июля 2011

Я скачал http://www.cryptopp.com/#download 5.6.1 и понятия не имею, что делать на данный момент. Я полный нуб и нуждаюсь в хороших инструкциях. спасибо.

Ответы [ 4 ]

17 голосов
/ 08 июля 2011

Непосредственно из файла readme (который можно найти здесь Crypto ++ Svn Trunk ):

* MSVC-специфичная информация *

В Windows Crypto ++ можно скомпилировать в 3 формы: статическую библиотеку, включающую все алгоритмы, библиотеку DLL только с алгоритмами, одобренными FIPS, и статическую библиотеку, в которой только алгоритмы отсутствуют в библиотеке DLL. (Утверждено FIPS означает Утверждено в соответствии со стандартом FIPS 140-2.) DLL может использоваться отдельно или вместе со второй формой статической библиотеки. Файлы проекта MSVC включены для создания всех трех форм, а также включены примеры приложений, использующих каждую из трех форм.

Чтобы скомпилировать Crypto ++ с MSVC, откройте файл рабочего пространства «cryptest.dsw» (для MSVC 6 и MSVC .NET 2003) или «cryptest.sln» (для MSVC 2005 - 2010) и создайте один или несколько из следующих проектов :

  • cryptopp - это сборка DLL. Обратите внимание, что если вы хотите использовать Crypto ++ в качестве проверенного модуля FIPS, вы должны использовать предварительно созданную библиотеку DLL, которая прошла процесс проверки FIPS, а не создавать свою собственную.
  • dlltest - создает пример приложения, в котором используется только DLL.
  • cryptest Non-DLL-Import Configuration - создает полную статическую библиотеку вместе с полным тестовым драйвером.
  • cryptest DLL-Import Configuration - создает статическую библиотеку, содержащую только алгоритмы, отсутствующие в DLL, вместе с полным тестовым драйвером, который использует как DLL, так и статическую библиотеку.

Чтобы использовать DLL-библиотеку Crypto ++ в своем приложении, #include «dll.h» перед включением любых других заголовочных файлов Crypto ++ и поместите DLL-библиотеку в тот же каталог, что и файл .exe. dll.h содержит строку #pragma comment (lib, "cryptopp"), поэтому вам не нужно явно указывать библиотеку импорта в настройках вашего проекта.

Чтобы использовать статическую библиотечную форму Crypto ++, сделайте проект «cryptlib» зависимым от проекта вашего приложения или укажите его как дополнительную библиотеку для ссылки в настройках вашего проекта. В любом случае вы должны проверить параметры компилятора, чтобы убедиться, что библиотека и ваше приложение используют один и тот же C ++. библиотеки времени выполнения и соглашения о вызовах.

Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать, и я обновлю ответ с моими ответами.

3 голосов
/ 04 ноября 2015

Я скачал http://www.cryptopp.com/#download 5.6.1 и понятия не имею, что делать на этом этапе ...

Это очень поздний ответ, но проект выпустил несколько новых файлов, чтобы помочь людям использовать Visual Studio 2010 и выше.

Проект должен был выпустить обновленные файлы, потому что VCUpgrade (поставляется с Visual Studio 2010) довольно плохо справляется с этим конкретным проектом. Это было источником проблем в течение нескольких лет, и даже слабовидящие пользователи комментировали это. Проблемы не были устранены в VS2012, VS2013 и VS2015, поэтому мы не считаем, что Microsoft намерена их решить.

Чтобы использовать обновленные файлы, загрузите последнюю версию Crypto ++ с веб-сайта . Затем перейдите на вики-сайт Crypto ++ и получите vs2010.zip со страницы Visual Studio . Распакуйте vs2010.zip поверх файлов Crypto ++. Наконец, дважды щелкните файл с именем cryptest.sln, чтобы Visual Studio открыла файл решения.

Страница Crypto ++ wiki также предлагает файлы проектов, которые обеспечивают динамическое связывание во время выполнения для VS2005 и VS2010.

1 голос
/ 25 декабря 2012

Если вы преобразуете cryptest.sln из VS2005 в VS2010, у вас возникнет проблема.Когда вы компилируете исходный код, компилятор покажет ошибку:

c1xx: фатальная ошибка C1027: Несоответствующие значения для / Ym между созданием и использованием предварительно скомпилированного заголовка

Эту проблему можно решить следующим образом:

  1. Переход к свойствам проекта -> Свойства конфигурации -> C / C ++ -> Скомпилированные заголовки

  2. Изменение на «Не используется»Предварительно скомпилированные заголовки "

1 голос
/ 08 июля 2011

Вам нужно будет скомпилировать библиотеку, прежде чем использовать ее с чем-либо.Вы не можете просто установить его.Вот страница их вики о компиляции библиотеки: http://www.cryptopp.com/wiki/Compiling

...