User Tools

Site Tools


Windows Build Instructions


Install Visual Studio 2015 or Visual Studio 2013. All editions, including the free Community Edition, are supported.

Note: Ensure “C++ Common Tools” is selected. This option can be found under Programming languages → Visual C++ → Common Tools for Visual C++.

Install dependencies from the web and add to PATH

  • Python 2.7 (select “Install just for me”)
  • SCons (if SCons can't find Python, try installing 32 bit version of Python)
  • Download 7-Zip. Use the “.exe” version for “64-bit x64”. Run the setup.exe and make sure your 7-zip installation folder is part of your PATH.
  • Download cmake-3.6.0-rc1-win64-x64.msi from CMake. Make sure you install into a folder included in your PATH.

The following is an example command to update your PATH for building IoTivity, assuming all dependencies have been installed to their default locations on a 64-bit machine. Note: this command must be run from an administrator command prompt:

  setx  PATH   %PATH%;C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\CMake\bin;C:\Program Files\7-Zip


*Note: may have to set up proxy for https

Open a Command Prompt and use the “run.bat” convenience script to call into SCons.

 run build

Or call into SCons directly.

scons TARGET_OS=windows TARGET_ARCH=amd64 \

Windows Example Apps


Examples Description
SimpleServer and SimpleClient A basic sample for hosting, discovering and performing GET, PUT, POST and OBSERVE operations on a resource. We recommend that you start with these two apps.
MediaServer and WinUIClient WinUIClient is a Win32 GUI application for managing the MediaServer application. MediaServer is an application that allows remote control over the PC running the app: specifically volume and playback (play/pause) control
ProvisioningClient SampleServer_JustWorks SampleServer_RandomPin Example for demonstrating Provisioning Manager
OCServer and OCClient An advanced version of SimpleServer/SimpleClient for hosting, discovering and performing GET, PUT, POST and OBSERVE operations on a resource. Allows user to specify 1 of 20 different sequences.

Source Code Location

Source code location of the sample code:


Provisioning Source code location of the sample code:


OCServer/OCClient Source code location of the sample code (works on Windows from this directory):



How to execute samples (in two seperate windows):

 C:\path\to\iotivity\> run server
 C:\path\to\iotivity\> run client

 C:\path\to\iotivity\> run mediaserver
 C:\path\to\iotivity\> run winuiclient


 C:\path\to\iotivity\> run justworks    OR    run randompin
 C:\path\to\iotivity\> run provclient
windows.txt · Last modified: 2016/08/04 01:31 by Dave Thaler