Contents.Application Note NumberAN-611 Revision History DateAuthorDetails2016-01-19Derek KozelInitial creation2017-03-07Nate TempleUpdate GNU Radio instructions2018-12-14Sam ReiterUpdate UHD instructionsAbstractThis Application Note provides a step-by-step guide for building, installing, and updating the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on Windows.UHD on WindowsUHD is fully supported on Windows 7, 8, 8.1, and 10 and can be compiled using Visual Studio 2013, 2015, or 2017. The future target is to support the latest three OS and Visual Studio releases.Setup the EnvironmentThe following dependencies are required for a regular build. Microsoft Windows (7, 8, 8.1, 10). Microsoft Visual Studio (2013, 2015, 2017). CMake (2.8.0 or later). Boost (1.53 or later).
LibUSB (1.0 or later). Python (2.7.x).
Mako (0.5.0 or later). Doxygen (1.8 or later, optional). NSIS (2.50 or later, optional)Optional Tools:. 7zip. msysGit Installing the dependencies Microsoft Visual StudioThe free version of Visual Studio is sufficient for building UHD.
This guide was tested using Windows 10 x64 and Microsoft Visual Studio Community 2017 (v15.9).Users will need to install the 'Desktop Development for C' Workload for Visual Studio. This can be found in:Tools Get Tools and Features. WorkloadsCMakeCMake is a cross-platform build system used to configure and generate the files necessary to compile and test UHD for a particular computer environment.During installation select the option to add CMake to the PATH for the current user.CMake 3.13.2 (win64-x64) was used for the guide.BoostBoost is a set of C libraries providing useful algorithms and data structures.The Boost binary installer must be selected to match the version of MSVC being used to compile UHD and architecture of Windows being run. Watch out as Microsoft has done the version numbering of MSVC such that the year and version number do not match.VS2017 uses the MSVC Toolset 14.1 so boost1680-msvc-14.1-64 was selected.LibUSBLibUSB is a cross-platform library providing access to USB devices.LibUSB releases are distributed in 7zip archives, the free 7zip program needed to open them is is linked in the “Setting Up the Environment” Section.
After installing 7zip the LibUSB release archive can be extracted by right clicking on the downloaded file and selecting 7zip Extract files.LibUSB 1.0.22 was used for the guide and extracted to C:Usersusernamelibusb-1.0.22.Note: The directory to which you extract libusb must not contain spaces. This is to say that C:Usersuser namelibusb-1.0.22 will cause compile issues moving forward.PythonPython is a widely used general-purpose, high-level programming language. UHD includes several utilities written in Python and has several scripts which are part of the build process.The latest Python 2 release, 2.7.15 was used.MakoMako is a python template library used to generate source files and isdistributed using a Python package management system.Open a command line (Ctrl-X, select Run, type cmd. Exe and click OK)cd C:Python27Scriptspip.exe install makoThis installed version 1.0.7 at the time of writing this guide.DoxygenDoxygen is a documentation generator which creates the HTML manual from text in the source code. It optional for building UHD.Version 1.8.14 was used for this guide.NSISNSIS is a toolkit for creating Windows installers.