https://github.com/Microsoft/CNTK
Raw File
Tip revision: d88d4424bab347cd50564ac68300d269823aef76 authored by Sergii Dymchenko on 02 August 2018, 21:04:36 UTC
Use tempfile instead of fixed file name in ONNX backend.
Tip revision: d88d442
CNTKv2LibraryDll.vcxproj
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" InitialTargets="CheckDependencies" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_NoOpt|x64">
      <Configuration>Release_NoOpt</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug_CpuOnly|x64">
      <Configuration>Debug_CpuOnly</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_CpuOnly|x64">
      <Configuration>Release_CpuOnly</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug_UWP|x64">
      <Configuration>Debug_UWP</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_UWP|x64">
      <Configuration>Release_UWP</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{E5606ECE-48CA-4464-BB12-09D81D02B9EF}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>CNTKv2LibraryDll</RootNamespace>
    <ProjectName>CNTKv2LibraryDll</ProjectName>
  </PropertyGroup>
  <Import Project="$(SolutionDir)\CNTK.Cpp.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="$(DebugBuild)" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="$(DebugBuild)">
    <LinkIncremental>true</LinkIncremental>
    <TargetName>Cntk.Core$(OutputSuffix)-$(CntkComponentVersion)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="$(ReleaseBuild)">
    <TargetName>Cntk.Core$(OutputSuffix)-$(CntkComponentVersion)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="$(IsUWP)">
    <ClCompile>
      <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>.\proto\onnx;.\proto\onnx\onnx_repo;.\API;.\proto;$(BOOST_INCLUDE_PATH);$(SolutionDir)\Source\CNTKv2LibraryDll;$(SolutionDir)Source\SGDLib;$(SolutionDir)Source\Readers\ReaderLib;$(SolutionDir)Source\ComputationNetworkLib;$(SolutionDir)Source\SequenceTrainingLib;$(SolutionDir)Source\Math;$(SolutionDir)Source\Common\Include;$(SolutionDir)Source\CNTK\BrainScript;$(SolutionDir)Source\ActionsLib;$(MSMPI_INC);$(NvmlInclude);$(ProtobufInclude);$(SolutionDir)Source\PerformanceProfilerDll;..\..\external\gsl\include;$(ProjectDir)Generated\Windows</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'!$(IsUWP)'">$(SolutionDir)Source\1BitSGD;$(ProjectDir)Generated\Windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions Condition="'!$(IsUWP)'">CNTK_PARALLEL_TRAINING_SUPPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <OpenMPSupport>true</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>$(SolutionDir)Source\ComputationNetworkLib;$(SolutionDir)Source\Math;$(MSMPI_LIB64);$(SolutionDir)$(Platform)\$(Configuration);$(NvmlLibPath);$(ProtobufLibPath)</AdditionalLibraryDirectories>
      <AdditionalDependencies>$(ReaderLibs);Cntk.Common$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.ComputationNetwork$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.SequenceTrainingLib$(OutputSuffix)-$(CntkComponentVersion).lib;$(ProtobufLib);%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <PreBuildEvent>
      <Command>prebuild.bat "$(Configuration)" "$(CNTK_MKL_SEQUENTIAL)" "$(CudaPath)" "$(CUDNN_PATH)" "$(CUB_PATH)" "$(CNTK_ENABLE_ASGD)"</Command>
    </PreBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(DebugBuild)">
    <ClCompile>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <WarningLevel>Level4</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>ONNX_NAMESPACE=onnx;ONNX_ML=1;ONNX_V1_OPSCHEMA_COMPAT;CNTKV2LIBRARYDLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <TreatWarningAsError>true</TreatWarningAsError>
      <DisableSpecificWarnings>4800;4610;4512;4510;4267;4127;4125;4100;4456;4189;4996;4503;4146</DisableSpecificWarnings>
      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; nvml.dll; $(CudaRuntimeDll); msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.DelayLoadedExtensions-$(CntkComponentVersion).dll</DelayLoadDLLs>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(ReleaseBuild)">
    <ClCompile>
      <WarningLevel>Level4</WarningLevel>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <PreprocessorDefinitions>ONNX_NAMESPACE=onnx;ONNX_ML=1;ONNX_V1_OPSCHEMA_COMPAT;CNTKV2LIBRARYDLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalOptions>/d2Zi+ /bigobj %(AdditionalOptions)</AdditionalOptions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <TreatWarningAsError>true</TreatWarningAsError>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <DisableSpecificWarnings>4800;4610;4512;4510;4267;4127;4125;4100;4456;4189;4996;4503;4146</DisableSpecificWarnings>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; nvml.dll; $(CudaRuntimeDll); msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.DelayLoadedExtensions-$(CntkComponentVersion).dll</DelayLoadDLLs>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(CpuOnlyBuild)">
    <ClCompile>
      <PreprocessorDefinitions>ONNX_NAMESPACE=onnx;ONNX_ML=1;ONNX_V1_OPSCHEMA_COMPAT;CPUONLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_CpuOnly|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug_CpuOnly|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <Link>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.DelayLoadedExtensions-$(CntkComponentVersion).dll</DelayLoadDLLs>
      <OptimizeReferences Condition="'$(Configuration)|$(Platform)'=='Debug_CpuOnly|x64'">false</OptimizeReferences>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(GpuBuild)">
    <ClCompile>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(CudaInclude);$(ProjectDir)Generated\Windows</AdditionalIncludeDirectories>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_NoOpt|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(CudaLibPath)</AdditionalLibraryDirectories>
    </Link>
    <PostBuildEvent>
      <Command>if exist "$(NvmlDll)" xcopy /I /D /Y "$(NvmlDll)" "$(TargetDir)"</Command>
      <Message>Copying NVidia GDK extension DLL to target folder</Message>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(IsUWP)">
    <PostBuildEvent>
      <Command>
        xcopy /D /I /Y "$(TargetDir)$(TargetName).lib" "$(TargetDir).."
        xcopy /D /I /Y "$(TargetPath)" "$(TargetDir).."
      </Command>
    </PostBuildEvent>
    <ClCompile>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_UWP|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <ClCompile>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug_UWP|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClInclude Include="API\CNTKLibrary.h" />
    <ClInclude Include="API\CNTKLibraryC.h" />
    <ClInclude Include="API\CNTKLibraryExperimental.h" />
    <ClInclude Include="API\CNTKLibraryInternals.h" />
    <ClInclude Include="API\HalfConverter.hpp" />
    <ClInclude Include="BackCompat.h" />
    <ClInclude Include="BlockFunction.h" />
    <ClInclude Include="CompositeFunction.h" />
    <ClInclude Include="DataParallelDistributedLearner.h" />
    <ClInclude Include="DistributedCommunicator.h" />
    <ClInclude Include="DistributedLearnerBase.h" />
    <ClInclude Include="EvaluatorWrapper.h" />
    <ClInclude Include="Learner.h" />
    <ClInclude Include="MinibatchSource.h" />
    <ClInclude Include="PrimitiveFunctionAttributes.h" />
    <ClInclude Include="PrimitiveFunction.h" />
    <ClInclude Include="PrimitiveOpType.h" />
    <ClInclude Include="proto\onnx\CNTKToONNX.h" />
    <ClInclude Include="proto\onnx\core\common\code_location.h" />
    <ClInclude Include="proto\onnx\core\common\common.h" />
    <ClInclude Include="proto\onnx\core\common\const_pointer_container.h" />
    <ClInclude Include="proto\onnx\core\common\exceptions.h" />
    <ClInclude Include="proto\onnx\core\common\logging\capture.h" />
    <ClInclude Include="proto\onnx\core\common\logging\isink.h" />
    <ClInclude Include="proto\onnx\core\common\logging\logging.h" />
    <ClInclude Include="proto\onnx\core\common\logging\macros.h" />
    <ClInclude Include="proto\onnx\core\common\logging\severity.h" />
    <ClInclude Include="proto\onnx\core\common\status.h" />
    <ClInclude Include="proto\onnx\core\graph\constants.h" />
    <ClInclude Include="proto\onnx\core\graph\function.h" />
    <ClInclude Include="proto\onnx\core\graph\graph.h" />
    <ClInclude Include="proto\onnx\core\graph\graph_nodes.h" />
    <ClInclude Include="proto\onnx\core\graph\graph_transformer.h" />
    <ClInclude Include="proto\onnx\core\graph\model.h" />
    <ClInclude Include="proto\onnx\core\graph\op.h" />
    <ClInclude Include="proto\onnx\core\graph\record.h" />
    <ClInclude Include="proto\onnx\core\graph\rewrite_rule.h" />
    <ClInclude Include="proto\onnx\core\graph\schema_registry.h" />
    <ClInclude Include="proto\onnx\core\graph\tensorutils.h" />
    <ClInclude Include="proto\onnx\core\graph\utils.h" />
    <ClInclude Include="proto\onnx\core\inc\ml_status.h" />
    <ClInclude Include="proto\onnx\core\inc\op_kernel_author.h" />
    <ClInclude Include="proto\onnx\core\inc\op_kernel_author_helper.h" />
    <ClInclude Include="proto\onnx\ONNX.h" />
    <ClInclude Include="proto\onnx\ONNXToCNTK.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\checker.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\common\assertions.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\common\stl_backports.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\defs\data_type_utils.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\defs\schema.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\defs\shape_inference.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\onnx-operators_pb.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\onnx_pb.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\proto_utils.h" />
    <ClInclude Include="proto\onnx\onnx_repo\onnx\string_utils.h" />
    <ClInclude Include="proto\onnx\Operators.h" />
    <ClInclude Include="proto\onnx\RNNHelper.h" />
    <ClInclude Include="Serialization.h" />
    <ClInclude Include="tensorboard\TensorBoardUtils.h" />
    <ClInclude Include="UserDefinedFunction.h" />
    <ClInclude Include="UserFunctionFactory.h" />
    <ClInclude Include="Utils.h" />
    <ClInclude Include="stdafx.h" />
    <ClInclude Include="targetver.h" />
    <ClInclude Include="Value.h" />
    <ClInclude Include="Variable.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="BackCompat.cpp" />
    <ClCompile Include="Common.cpp" />
    <ClCompile Include="CompositeFunction.cpp" />
    <ClCompile Include="ComputeInputStatistics.cpp" />
    <ClCompile Include="DataParallelDistributedLearner.cpp" />
    <ClCompile Include="DistributedCommunicator.cpp" />
    <ClCompile Include="DistributedLearnerBase.cpp" />
    <ClCompile Include="dllmain.cpp">
      <CompileAsManaged>false</CompileAsManaged>
      <PrecompiledHeader>
      </PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="Evaluator.cpp" />
    <ClCompile Include="CNTKLibraryC.cpp" />
    <ClCompile Include="EvaluatorWrapper.cpp" />
    <ClCompile Include="Function.cpp" />
    <ClCompile Include="Learner.cpp" />
    <ClCompile Include="MinibatchSource.cpp" />
    <ClCompile Include="NDArrayView.cpp" />
    <ClCompile Include="NDMask.cpp" />
    <ClCompile Include="PrimitiveFunction.cpp" />
    <ClCompile Include="proto\CNTK.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="proto\onnx\CNTKToONNX.cpp" />
    <ClCompile Include="proto\onnx\core\common\logging\capture.cc" />
    <ClCompile Include="proto\onnx\core\common\logging\logging.cc" />
    <ClCompile Include="proto\onnx\core\common\status.cc" />
    <ClCompile Include="proto\onnx\core\graph\graph.cc" />
    <ClCompile Include="proto\onnx\core\graph\graph_transformer.cc" />
    <ClCompile Include="proto\onnx\core\graph\model.cc" />
    <ClCompile Include="proto\onnx\core\graph\op.cc" />
    <ClCompile Include="proto\onnx\core\graph\tensorutils.cc" />
    <ClCompile Include="proto\onnx\onnx-ml.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="proto\onnx\onnx-operators-ml.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="proto\onnx\ONNX.cpp" />
    <ClCompile Include="proto\onnx\ONNXToCNTK.cpp" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\checker.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\common\assertions.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\controlflow\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\data_type_utils.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\experiments\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\generator\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\logical\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\logical\old.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\math\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\math\old.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\nn\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\nn\old.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\reduction\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\rnn\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\rnn\old.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\schema.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\tensor\defs.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\tensor\old.cc" />
    <ClCompile Include="proto\onnx\onnx_repo\onnx\defs\traditionalml\defs.cc" />
    <ClCompile Include="proto\onnx\Operators.cpp" />
    <ClCompile Include="proto\onnx\RNNHelper.cpp" />
    <ClCompile Include="Serialization.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader>Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="ProgressWriter.cpp" />
    <ClCompile Include="tensorboard\tensorboard.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="tensorboard\TensorBoardFileWriter.cpp" />
    <ClCompile Include="tensorboard\TensorBoardUtils.cpp" />
    <ClCompile Include="Trainer.cpp" />
    <ClCompile Include="TrainingSession.cpp" />
    <ClCompile Include="UserDefinedFunction.cpp" />
    <ClCompile Include="Utils.cpp" />
    <ClCompile Include="Value.cpp" />
    <ClCompile Include="Variable.cpp" />
  </ItemGroup>
  <ItemGroup>
    <Proto Include="proto\CNTK.proto" />
    <Proto Include="tensorboard\tensorboard.proto" />
    <Proto Include="proto\onnx\onnx_repo\onnx\onnx-ml.proto" />
    <Proto Include="proto\onnx\onnx_repo\onnx\onnx-operators-ml.proto" />
  </ItemGroup>
  <Target Name="ProtoGen" Inputs="@(Proto)" Outputs="@(Proto->'%(RelativeDir)%(Filename).pb.cc')">
    <Message Text="Compiling %(Proto.Identity)" />
    <Exec Command="$(PROTOBUF_PATH)\bin\protoc --proto_path=$(ProjectDir)%(Proto.RelativeDir) --cpp_out=$(ProjectDir)%(Proto.RelativeDir) %(Proto.FullPath)" WorkingDirectory="$(ProjectDir)" />
  </Target>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <Target Name="Build" Condition="$(HasProtobuf)" Outputs="$(TargetPath)" DependsOnTargets="ProtoGen;$(BuildDependsOn)" />
  <ImportGroup Label="ExtensionTargets" />
  <Target Name="CheckDependencies">
    <Warning Condition="!$(HasProtobuf)" Text="CNTKv2LibraryDll requires Protocol Buffers to build. Please see https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-Windows#protobuf for installation instructions." />
    <Error Condition="!$(HasBoost)" Text="CNTKv2LibraryDll requires the Boost library to build. Please see https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-Windows#boost for installation instructions." />
  </Target>
</Project>
back to top