Ikaros for Windows with
Visual Studio C++

Downloads

Download Visual Studio 2012 from

http://www.microsoft.com/visualstudio/eng/downloads

or

https://www.dreamspark.com/Student/Software-Catalog.aspx

if your University is a subscriber.

Download the Ikaros source code and delete the folder

\ikaros\Source\Modules\VisionModules\MPIFaceDetector

In Visual Studio 2012: Click "File -> New -> Project From Existing Code..."

In the Project From Existing Code wizard choose "Visual C++" project type and click next. 
Find the Ikaros directory, choose a project name and click next. Set the project type to "Console application project" and click next. Add WINDOWS to the preprocessor definitions, copy and paste

$(SolutionDir)\Source;$(SolutionDir)\Source\Kernel;

to include search paths and click finish.

Remove IKAROS_Timer_none.h from Header Files in the solution explorer:

Remove the following files from Source Files in the solution explorer:

IKAROS_Serial_BSD.cc

IKAROS_Socket_BSD.cc

 IKAROS_Threads_none.cc

IKAROS_Timer_POSIX.cc

InputVideoFile.cc
Kinect.cc
Phidgets.cc
MarkerTracker.cc

Download the JPEG source from the Independent JPEG Group
http://www.ijg.org/files/jpegsr9.zip or http://www.ijg.org/files/

Extract the zip and open a command prompt. Navigate to the bin-directory of your vs2012 installation (e.g. C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin) and run the .bat-file used to set environment paths (usually named vcvars32.bat, vcvarsall.bat or vcvars.bat). Note that the changes made by this bat-file are temporary and only affect this command prompt.

Include the Win32.mak file from the MS Windows 7 SDK by pasting the following in to the command prompt.

set INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\Include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%

Navigate to the jpeg source directory and run the following to create the Visual Studio project files:

nmake /f makefile.vc setup-v10

If you get fatal error U1052: file 'win32.mak' not found, you must verify that the Windows SDK is installed and that the include path is refering to the correct directory (download the sdk here: http://www.microsoft.com/en-us/download/details.aspx?id=8279 if it is missing).

Open the jpeg project file by typing jpeg.sln in to the command prompt, allow it to update to version 2012 and build both a static library (.lib) and a Dynamic Library (.dll). Open the project settings by right clicking the project name in the Solution Explorer and clicking project. Then set the library type by expanding "Configuration Properties" selecting "General" and editing the "Configuration Type". Copy the jpeg.dll to the Ikaros\Bin directory ([jpeg Path]\jpeg.dll reside in the Release directory).

Download and extract Pthreads:

ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip 
or latest w32-release at ftp://sourceware.org/pub/pthreads-win32

Copy the dll

[Pthreads Path]\Pre-built.2\dll\x86\pthreadVC2.dll

to

Ikaros\Bin

Drag and drop from explorer to the vs2012 solution explorer:

[jpeg Path]\Release\jpeg.lib
[Pthreads Path]\Pre-built.2\lib\x86\pthreadsVC2.lib
Search C:\Program Files (x86)\ for the x86 version of WinMM.lib and WS2_32.lib

In vs2012 project properties, under "Configuration Properties -> General" set output directory to

$(ProjectDir)\Bin\

and target name to

ikaros

Under "VC++ Directories -> Library Directories" add the library paths:

[jpeg Path]\Release
[Pthreads Path]\Pre-built.2\lib\x86

Under "VC++ Directories -> Include Directories" add the library paths:

[jpeg Path]
[Pthreads Path]\Pre-built.2\include

Set IKAROSPATH in IKAROS_System.h and build.

Test by opening a console, navigate to ikaros\bin and paste the following:

ikaros -w ..\Examples\WebUI-Demos\included_views.ikc

Open http://127.0.0.1:8000/ in a Chrome browser and press the play button in the window.