HowTo Compile SPTK on Windows

  1. Install MS Visual Studio 2012 or newer that supports C++.

  2. Download PCRE binaries: http://www.airesoft.co.uk/pcre. Unzip PCRE binaries into "Program Files/pcre" directory. If you're using 32 bit Windows, add "Program Files/pcre/bin" to the path. For 64 bit Windows, add "Program Files/pcre/bin/x64" to the path.

  3. Repeat step 2 for any other libraries supported by SPTK that you may need: PostgreSQL (libpq), MySQL (mysql client), Oracle (OCCI client), Firebird (fbclient), SQLite3, Aspell.

  4. Install CMake version 2.8 or higher: http://www.cmake.com.

  5. Download FLTK 1.3.x: http://www.fltk.org/software.php. Untar the downloaded file into some temporary/development directory. Start CMake GUI and point it to that directory for source and build directories. Usually, I append '/build' or '/vs2013' to the source directory to make build directory name. Configure and Generate. Now you should have Visual Studio solution files in your build directory. Start Visual Studio, open and build FLTK solution in Release mode. The INSTALL target in FLTK solution didn't work for me, so I manually created "Program Files/FLTK/lib" directory, and copied there *.dll and *.lib files from your <build directory>/lib/Debug. Also you need to copy into "Program Files/FLTK" directory the following FLTK include file directories: FL, GL, png(only .h files), and zlib (only .h files). This is minimal and crippled FLTK install, but fixing it is out of scope of this document.

  6. Download latest SPTK (5.1.6 or newer). Start CMake GUI and point it to that directory for source and build directories - same as before. Configure and Generate. Verify that CMake found FLTK (and any other libraries you need from items 2 and 3): CMake output should print 'FLTK support: compile' for FLTK. Compile SPTK, and finally build 'INSTALL' target in SPTK solution. SPTK will be installed into C:\Program Files\SPTK.

  7. Any project designed with SPTK should add (in project properties):

You most likely need to do the same thing for FLTK libraries.