如何在Visual Studio 2010中安装Crypto++?

8
4个回答

19

直接从自述文件中获取(可以在此处找到:Crypto++ Svn Trunk):

* MSVC特定信息 *

在Windows上,Crypto++可以编译成3种形式:包括所有算法的静态库、仅包含FIPS批准算法的DLL以及仅包含不在DLL中的算法的静态库。(FIPS批准意味着根据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,而不是构建您自己的DLL。
  • dlltest- 这将构建仅使用DLL的示例应用程序。
  • cryptest非DLL导入配置 - 这将构建完整的静态库以及完整的测试驱动程序。
  • cryptest DLL导入配置- 这将构建仅包含不在DLL中的算法的静态库,以及一个使用DLL和静态库的完整测试驱动程序。

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

要使用Crypto++的静态库,请将“cryptlib”项目作为应用程序项目的依赖项,或在项目设置中指定它作为需要链接的附加库。在任一情况下,您都应该检查编译器选项,以确保库和应用程序使用相同的C++运行时库和调用约定。
如有任何疑问,请随时提问,我会更新答案并回复您。

我已经切换到静态库,但我的项目仍然尝试链接cryptopp.lib...它不在任何设置中... - Dani

4
我下载了http://www.cryptopp.com/#download 5.6.1,但此时不知道该怎么做... 这是一个非常晚的答案,但该项目已经发布了一些新文件来帮助人们使用Visual Studio 2010及以上版本。 该项目必须发布更新的文件,因为VCUpgrade(随Visual Studio 2010提供)在这个特定的项目中表现相当糟糕。这已经是几年来的问题,甚至视力障碍用户也在评论它。这些问题在VS2012、VS2013和VS2015中没有得到解决,因此我们不认为Microsoft有任何意图解决这些问题。
为了使用更新的文件,请从网站下载最新的Crypto++版本链接。然后,请访问Crypto++维基并从页面Visual Studio获取vs2010.zip。将vs2010.zip解压到Crypto++文件上方。最后,双击名为cryptest.sln的文件,以便Visual Studio打开解决方案文件。 Crypto++维基页面还提供了项目文件,为VS2005和VS2010提供动态运行时链接。

1

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

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

你可以通过以下方式解决这个问题:

  1. 进入项目属性 --> 配置属性 --> C/C++ --> 预编译头

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接