【问题标题】:How do I install Crypto++ in Visual Studio 2010?如何在 Visual Studio 2010 中安装 Crypto++?
【发布时间】:2011-09-30 22:25:22
【问题描述】:

我下载了http://www.cryptopp.com/#download 5.6.1,但目前不知道该怎么做。我是个菜鸟,需要好的指导。谢谢。

【问题讨论】:

    标签: c++ visual-studio-2010 crypto++


    【解决方案1】:

    直接来自自述文件(可在此处找到Crypto++ Svn Trunk):

    * MSVC 特定信息 *

    在 Windows 上,Crypto++ 可以编译成 3 种形式:包含所有算法的静态库、仅包含 FIPS 批准算法的 DLL 以及仅包含 DLL 中未包含的算法的静态库。 (FIPS Approved 表示按照 FIPS 140-2 标准批准。)DLL 可以单独使用,也可以与第二种形式的静态库一起使用。包含 MSVC 项目文件以构建所有三种表单,还包含使用这三种表单的示例应用程序。

    要使用 MSVC 编译 Crypto++,请打开“cryptest.dsw”(适用于 MSVC 6 和 MSVC .NET 2003)或“cryptest.sln”(适用于 MSVC 2005 - 2010)工作区文件并构建以下一个或多个项目:

    • cryptopp - 这将构建 DLL。请注意,如果您希望将 Crypto++ 用作经过 FIPS 验证的模块,则必须使用经过 FIPS 验证过程的预构建 DLL,而不是自己构建。
    • dlltest - 这将构建一个仅使用 DLL 的示例应用程序。
    • cryptest Non-DLL-Import Configuration - 这将构建完整的静态库以及完整的测试驱动程序。
    • cryptest DLL-Import Configuration - 这将构建一个静态库,其中仅包含 DLL 中没有的算法,以及一个使用 DLL 和静态库的完整测试驱动程序。

    要在您的应用程序中使用 Crypto++ DLL,请在包含任何其他 Crypto++ 头文件之前#include "dll.h",并将 DLL 与您的 .exe 文件放在同一目录中。 dll.h 包含 #pragma comment(lib, "cryptopp") 行,因此您不必在项目设置中明确列出导入库。

    要使用 Crypto++ 的静态库形式,请将“cryptlib”项目作为您的应用程序项目的依赖项,或将其指定为附加库以在您的项目设置中链接。无论哪种情况,您都应该检查编译器选项以确保库和您的应用程序使用相同的 C++ 运行时库和调用约定。

    如果您有任何问题,请随时提出,我会用我的回复更新答案。

    【讨论】:

    • 我已切换到静态库,但我的项目一直在尝试链接 cryptopp.lib...它不在任何设置中...
    【解决方案2】:

    我下载了http://www.cryptopp.com/#download 5.6.1,现在不知道该怎么办...

    这是一个很晚的答案,但该项目已经发布了一些新文件来帮助人们使用 Visual Studio 2010 及更高版本。

    该项目必须发布更新的文件,因为 VCUpgrade(随 Visual Studio 2010 提供)在此特定项目中的工作相当糟糕。几年来,它一直是问题的根源,甚至视力受损的用户也对此发表了评论。这些问题在 VS2012、VS2013 和 VS2015 中都没有修复,所以我们认为微软没有任何修复这些问题的意图。

    要使用更新的文件,请下载最新的 Crypto++ 版本from the website。然后,访问 Crypto++ wiki 并从页面 Visual Studio 获取 vs2010.zip。在 Crypto++ 文件上解压缩 vs2010.zip。最后双击名为 cryptest.sln 的文件,让 Visual Studio 打开解决方案文件。

    Crypto++ wiki 页面还提供了为 VS2005 和 VS2010 提供动态运行时链接的项目文件。

    【讨论】:

      【解决方案3】:

      如果你将 cryptest.sln 从 VS2005 转换到 VS2010,你会遇到一个问题。编译源码时,编译器会报错:

      c1xx : 致命错误 C1027: 创建和使用预编译头文件之间的 /Ym 值不一致

      您可以通过以下方式解决此问题:

      1. 转到项目属性 --> 配置属性 --> C/C++ --> 预编译头文件

      2. 将其更改为“不使用预编译头”

      【讨论】:

        【解决方案4】:

        在将它与任何东西一起使用之前,您需要编译该库。你不能只安装它。这是他们 wiki 中关于编译库的页面:http://www.cryptopp.com/wiki/Compiling

        【讨论】:

          猜你喜欢
          • 2011-03-02
          • 2014-03-01
          • 2011-04-08
          • 2019-11-04
          • 1970-01-01
          • 2012-12-28
          • 2023-03-08
          • 1970-01-01
          • 2011-11-15
          相关资源
          最近更新 更多