你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设置 Buildzlib VS17

为 CNTK 创建 zlib/libzip 压缩库

我们在说明中使用以下安装路径:

  • libzip 源: c:\local\src\libzip-1.1.3
  • zlib 源: c:\local\src\zlib\zlib-1.2.8
  • zlib 和 libzip 二进制文件的生成目录: c:\local\zlib-vs17

可以使用喜欢的任何路径,但请注意下面二进制文件的目标文件夹上的备注。

  • 安装 CMake。 将 CMake 二进制文件文件夹包含在你的 PATH
  • 下载 libzip 源代码 并解压缩到 c:\local\src\libzip-1.1.3
  • 下载 zlib 源代码 并将其解压缩到 c:\local\src\zlib\zlib-1.2.8

可通过两种方法通过批处理文件手动为CNTK生成 lib/libzip 压缩库。

通过批处理文件生成

在目录中 Tools\devInstall\Windows 找到批处理文件 buildZlibVS17.bat。 此批处理文件采用三个参数来生成 CNTK Protobuf 库。 第一个参数是上面解压缩的 libzip 源文件的目录,第二个参数是源文件的 zlib 目录,第三个参数是创建库的目标目录。 在本例中,请按照标准Windows命令提示符执行以下步骤:

c:
cd \repos\cntk\Tools\devInstall\Windows
buildZlibVS17 c:\local\src\libzip-1.1.3 c:\local\src\zlib\zlib-1.2.8 c:\local\zlib-vs17

将环境变量 ZLIB_PATH 设置为创建库的位置 (这是上述命令调用中的第三个参数,而不是源位置!

setx ZLIB_PATH c:\local\zlib-vs17

CNTK压缩库的手动生成步骤

以下方面非常重要:

  • zlib 和 libzip 的生成命令应对 进制文件使用相同的目标文件夹, (通过 -DCMAKE_INSTALL_PREFIX 下面的命令中指定的 cmake 参数)
  • 生成顺序很重要。 应 首先生成 zlib,因为 libzip 依赖于它

生成命令提示环境

注意

如果未VS2017INSTALLDIR由Visual Studio安装程序设置环境变量,请手动设置它。 具体安装目录取决于版本 2017 ( 2017,在本例中) 并提供 (Community、Enterprise等Visual Studio) ,具体视以下模式而定: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

对于 Visual Studio 2017 Enterprise 版本,请运行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"

对于 Visual Studio 2017 Community 版本,请运行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"

启动 64 位Visual Studio 2017 开发环境。 最简单的方法是使用标准 windows 命令行界面中的所需参数在Visual Studio目录中执行批处理文件vcvarsall.bat

    "%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

如果在系统上找不到此批处理文件,请重新访问 VS2017 的安装,并确保已选择“VC++版本 15.4 v14.11 工具集”。

生成 zlib

VS2017 x64 Native Tools 命令提示符处执行以下命令:

cd c:\local\src\zlib\zlib-1.2.8
mkdir build
cd build
cmake .. -G"Visual Studio 15" -DCMAKE_INSTALL_PREFIX="c:\local\zlib-vs17"
msbuild /P:Configuration=Release INSTALL.vcxproj

生成 libzip

VS2017 x64 Native Tools 命令提示符处执行以下命令:

cd c:\local\src\libzip-1.1.3
mkdir build
cd build
cmake .. -G"Visual Studio 15 Win64" -DCMAKE_INSTALL_PREFIX="c:\local\zlib-vs17"
msbuild libzip.sln /t:zip /P:Configuration=Release
cmake -DBUILD_TYPE=Release -P cmake_install.cmake

上面的MSBuild命令可能会生成一些警告。 它应为预期,并可能被忽略。

上述列表中的最后 cmake 一个命令将生成以下错误:

CMake Error at src/cmake_install.cmake:34 (file):
  file INSTALL cannot find "C:/libzip/build/src/Release/zipcmp.exe".

这是预期且可能被忽略 - 所有必需的二进制文件 (zip.dllzlib.dll) 应已处于 c:\local\zlib-vs17

准备环境

设置以下环境变量:

setx ZLIB_PATH c:\local\zlib-vs17