3rd.botan

1、HOME

1、官网:https://botan.randombit.net/
    Win下 编译步骤:https://botan.randombit.net/handbook/building.html#on-windows,是如下4步:
	$ python configure.py --cc=msvc --os=windows
	$ nmake
	$ botan-test.exe
	$ nmake install

2、ZC:我在家的笔记本上安装的是 vs2017x64
	2.1、nmake的最后的几行输出信息为 如图"01_namke.png"所示(貌似和 SHH的vs2017x86执行该命令后的最后输出是一样的。使用 vs2017x86时使用的命令行是自己拼凑的x64的环境变量"path"&"include"&"lib"。)
	2.2、命令"nmake install"执行之后的输出为 如图"02_nmakeinstall.png"所示
1、vs2017x64 的 "x64Native Tools Command Prompt for VS 2017"中,执行下面的命令:
F:IDECPP_3rdzclxy-botan-2.12.1zclxy-botan-2.12.1>python configure.py --cc=msvc --os=windows --with-debug-info --debug-mode
... ...

F:IDECPP_3rdzclxy-botan-2.12.1zclxy-botan-2.12.1>

1.1、ZC:找到"x64Native Tools Command Prompt for VS 2017"的位置是:
	"C:ProgramDataMicrosoftWindowsStart MenuProgramsVisual Studio 2017Visual Studio ToolsVCx64 Native Tools Command Prompt for VS 2017"
	它的属性,显示为“%comspec% /k "C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvars64.bat"”

2、SHH

 2.1、_____ZC_编译botan.txt

1、官网的编译步骤 在 “https://botan.randombit.net/handbook/building.html#on-windows”中,使用vs的话 是这几条命令:
	$ python configure.py --cc=msvc --os=windows
	$ nmake
	$ botan-test.exe
	$ nmake install

	ZC:配置文件中的一些参数 在这里查看:https://botan.randombit.net/handbook/building.html#configure-script-options
	ZC: python configure.py --cc=msvc --os=windows --with-debug-info
	ZC: python configure.py --cc=msvc --os=windows --with-debug-info --debug-mode

2、官网:“https://botan.randombit.net/”,代码我是在这里下载的:“https://github.com/randombit/botan”

3、我使用 vs2017编译,我装的vs2017是32位的,然后发现 它的命令行 都是设置的 32位的文件路径,所以直接用这个命令行是不行的...
    3.1、CMD显示全部环境变量命令:set
    3.2、主要使用的 环境变量就是 "path"、"include"、"lib"。
	我的做法:打开vs2017的命令行,然后得到这3个环境变量的值,然后改成 x64的文件路径,再在新的CMD中设置x64的3个环境变量值。
	(ZC:环境变量"libpath"的值 在新的CMD中设置了之后貌似没起作用... 于是这里 就没有提到它)
    3.3、LINK : fatal error LNK1181: 无法打开输入文件“crypt32.lib”:
	环境变量"LIB"中添加:“C:Program Files (x86)Microsoft Visual Studio2017EnterpriseSDKScopeCppSDKSDKlib;”

4、编译成功之后,结果如图:编译成功_01.png
5、

 2.2、__ZC_环境变量.txt

1、比较环境变量的"path",得到如下 18个不同的项
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostX86x86";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEVCVCPackages";
"C:Program Files (x86)Microsoft SDKsTypeScript3.1";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTestWindow";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTeamFoundationTeam Explorer";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuild15.0inRoslyn";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseTeam ToolsPerformance Tools";
"C:Program Files (x86)Microsoft Visual StudioSharedCommonVSPerfCollectionTools";
"C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftFSharp";
"C:Program Files (x86)Windows Kits10in10.0.17763.0x86";
"C:Program Files (x86)Windows Kits10inx86";
"C:Program Files (x86)Microsoft Visual Studio2017Enterprise\MSBuild15.0in";
"C:WindowsMicrosoft.NETFrameworkv4.0.30319";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDE";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeCMakein";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeNinja";

1.1、改成 x64的形式:
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x64";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEVCVCPackages";
"C:Program Files (x86)Microsoft SDKsTypeScript3.1";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTestWindow";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTeamFoundationTeam Explorer";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuild15.0inRoslyn";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseTeam ToolsPerformance Tools";
"C:Program Files (x86)Microsoft Visual StudioSharedCommonVSPerfCollectionTools";
"C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftFSharp";
"C:Program Files (x86)Windows Kits10in10.0.17763.0x64";
"C:Program Files (x86)Windows Kits10inx64";
"C:Program Files (x86)Microsoft Visual Studio2017Enterprise\MSBuild15.0in";
"C:WindowsMicrosoft.NETFrameworkv4.0.30319";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDE";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeCMakein";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeNinja";

1.2、合并成一行之后:
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x64";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEVCVCPackages";"C:Program Files (x86)Microsoft SDKsTypeScript3.1";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTestWindow";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTeamFoundationTeam Explorer";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuild15.0inRoslyn";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseTeam ToolsPerformance Tools";"C:Program Files (x86)Microsoft Visual StudioSharedCommonVSPerfCollectionTools";"C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Tools";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftFSharp";"C:Program Files (x86)Windows Kits10in10.0.17763.0x64";"C:Program Files (x86)Windows Kits10inx64";"C:Program Files (x86)Microsoft Visual Studio2017Enterprise\MSBuild15.0in";"C:WindowsMicrosoft.NETFrameworkv4.0.30319";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDE";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7Tools";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeCMakein";"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeNinja";

2、include
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023ATLMFCinclude;C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023include;C:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum;C:Program Files (x86)Windows Kits10include10.0.17763.0ucrt;C:Program Files (x86)Windows Kits10include10.0.17763.0shared;C:Program Files (x86)Windows Kits10include10.0.17763.0um;C:Program Files (x86)Windows Kits10include10.0.17763.0winrt;C:Program Files (x86)Windows Kits10include10.0.17763.0cppwinrt

3、lib
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023ATLMFClibx86;C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023libx86;C:Program Files (x86)Windows KitsNETFXSDK4.6.1libumx86;C:Program Files (x86)Windows Kits10lib10.0.17763.0ucrtx86;C:Program Files (x86)Windows Kits10lib10.0.17763.0umx86;

3.1、改成 x64的形式:(最后面 还加了一个)
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023atlmfclibx64;C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023libx64;C:Program Files (x86)Windows KitsNETFXSDK4.6.1libumx64;C:Program Files (x86)Windows Kits10lib10.0.17763.0ucrtx64;C:Program Files (x86)Windows Kits10lib10.0.17763.0umx64;C:Program Files (x86)Microsoft Visual Studio2017EnterpriseSDKScopeCppSDKSDKlib;

4、
5、

 2.3、path_z.txt

"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x64";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEVCVCPackages";
"C:Program Files (x86)Microsoft SDKsTypeScript3.1";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTestWindow";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftTeamFoundationTeam Explorer";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuild15.0inRoslyn";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseTeam ToolsPerformance Tools";
"C:Program Files (x86)Microsoft Visual StudioSharedCommonVSPerfCollectionTools";
"C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftFSharp";
"C:Program Files (x86)Windows Kits10in10.0.17763.0x64";
"C:Program Files (x86)Windows Kits10inx64";
"C:Program Files (x86)Microsoft Visual Studio2017Enterprise\MSBuild15.0in";
"C:WindowsMicrosoft.NETFrameworkv4.0.30319";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDE";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7Tools";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeCMakein";
"C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDECommonExtensionsMicrosoftCMakeNinja";

3、20191120 在SH 想编译 x86版本

 3.1、运行配置文件 出现问题:

D:DocumentsDownloadsotanotan-2.12.1>python configure.py --cc=msvc --os=win
dows
   INFO: configure.py invoked with options "--cc=msvc --os=windows"
   INFO: Configuring to build Botan 2.12.1 (revision unknown)
   INFO: Running under 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MS
C v.1916 64 bit (AMD64)]
   INFO: Autodetected platform information: OS="Windows" machine="AMD64" proc="I
ntel64 Family 6 Model 158 Stepping 10, GenuineIntel"
   INFO: Guessing target processor is a x86_64 (use --cpu to set)
   INFO: Canonicalized CPU target AMD64 to x86_64
   INFO: Auto-detected compiler version 19.16
   INFO: Auto-detected compiler arch x86_32
  ERROR: Configured target is x86_64 but compiler probe indicates x86_32

D:DocumentsDownloadsotanotan-2.12.1>

  ZC:现在想先 之前(上面) 折腾SH的机子的配置,估计也是 报了这个问题的缘故

 3.2、上面也贴了 配置文件的 参数的网址:https://botan.randombit.net/handbook/building.html#configure-script-options,可以看到 参数cpu 可以指定CPU的架构,于是 配置命令就变成了:(加上了本文上面的 调试信息参数)

  python configure.py --cc=msvc --os=windows --with-debug-info --debug-mode --cpu=x86_32

  然后 就可以直接使用 SH的32位的vs2017的"VS 2017的开发人员命令提示符"直接跑上面的命令了,

  然后命令 nmake

  然后命令 nmake install

  然后命令 botan-test.exe      ZC:这次 这个放在了最后面,∵它会卡在那边无法退出程序,于是先安装 安装完后再测试

4、

5、

原文地址:https://www.cnblogs.com/cppskill/p/11716635.html