<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://test.pinballmakers.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Windows_build_instructions</id>
	<title>Windows build instructions - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://test.pinballmakers.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Windows_build_instructions"/>
	<link rel="alternate" type="text/html" href="https://test.pinballmakers.com/wiki/index.php?title=Windows_build_instructions&amp;action=history"/>
	<updated>2026-05-28T06:31:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://test.pinballmakers.com/wiki/index.php?title=Windows_build_instructions&amp;diff=1343&amp;oldid=prev</id>
		<title>Steveshoyer: Windows build instructions for P-ROC and pyprocgame</title>
		<link rel="alternate" type="text/html" href="https://test.pinballmakers.com/wiki/index.php?title=Windows_build_instructions&amp;diff=1343&amp;oldid=prev"/>
		<updated>2016-02-08T05:38:28Z</updated>

		<summary type="html">&lt;p&gt;Windows build instructions for P-ROC and pyprocgame&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page contains step-by-step instructions for building [http://github.com/preble/libpinproc libpinproc] and [http://github.com/preble/pypinproc pypinproc] in Windows.  These instructions have been verified to work in Windows XP, Windows Vista, and Windows 7.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Note - You only need to build from source code if you are making code changes or you are making use of the development branches of libpinproc/pypinproc/pyprocgame.  All other users can simply download and run the Windows installer from the [http://www.pinballcontrollers.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=61&amp;amp;Itemid=63 P-ROC software page].  The Windows installer includes the low level USB driver, a firmware update utility, and a pre-built pypinproc python extension so you can start using the [http://pyprocgame.pindev.org pyprocgame python game framework] if that interests you.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* Download and install MinGW.  The easiest way is to use the automated installer [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/ mingw-get-inst].  Any of the latest versions should work.&lt;br /&gt;
** Note - Be sure to install C and C++ support at the very least.&lt;br /&gt;
** Note - the rest of these notes assume you installed to C:\MinGW.  If you installed somewhere else, substitute your path in the instructions below.&lt;br /&gt;
* Add C:\MinGW\bin to your path.  (Right click My Computer, select Properties, click on the Advanced tab, click on environment variables, and add C:\MinGW\bin to the PATH variable under System variables.  The new path should be reflected when you open a new command prompt).&lt;br /&gt;
&lt;br /&gt;
* Download and install [http://www.cmake.org/cmake/resources/software.html cmake] and add &amp;lt;your-cmake-directory&amp;gt;\bin to your path.  Latest version tested: 2.8&lt;br /&gt;
&lt;br /&gt;
== libpinproc ==&lt;br /&gt;
&lt;br /&gt;
* Download and extract the [http://www.ftdichip.com/Drivers/D2XX.htm ftd2xx] USB driver for Windows.  Latest version tested: [http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip 2.08.14], newer version *should* work fine too.&lt;br /&gt;
** copy ftd2xx.lib and ftd2xx.dll from the i386\ directory to C:\MinGW\lib&lt;br /&gt;
** also copy ftd2xx.dll to Windows\System32\ (32-bit) or Windows\SysWOW64\ (64-bit) - this *should* happen automatically when you plug in your P-ROC board, but if you&amp;#039;re trying to do off-line development, you might need to do it manually.&lt;br /&gt;
** copy ftd2xx.h to C:\MinGW\include &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build yaml-cpp&lt;br /&gt;
** Download and extract [http://code.google.com/p/yaml-cpp/ yaml-cpp] into a directory of your choice.  Latest version tested: [http://yaml-cpp.googlecode.com/files/yaml-cpp-0.2.5.tar.gz 0.2.5]&lt;br /&gt;
** From the command line, &amp;#039;cd&amp;#039; into your yaml-cpp directory and run the following commads:&lt;br /&gt;
&lt;br /&gt;
    mkdir bin&lt;br /&gt;
    cd bin&lt;br /&gt;
    cmake -G &amp;quot;MinGW Makefiles&amp;quot; ..&lt;br /&gt;
    mingw32-make&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX:PATH=C:\MinGW -P cmake_install.cmake&lt;br /&gt;
&lt;br /&gt;
** Note - These commands expect cmake and mingw32-make to be in your path&lt;br /&gt;
** Note - If you want to build a static library instead of a DLL, edit the CMakeLists.txt file in the yaml-cpp directory and change the &amp;quot;set(LIB_TYPE SHARED)&amp;quot; to &amp;quot;set(LIB_TYPE_STATIC)&amp;quot;.  Then rerun the last two commands from the bin directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build libpinproc&lt;br /&gt;
** Download (and extract) [http://github.com/preble/libpinproc libpinproc] into a directory of your choice. Note - make sure you select the desired branch to download (either master or dev).&lt;br /&gt;
*** Download either by clicking &amp;#039;Download Sources&amp;#039; or by installing a git client and checking out the repository.&lt;br /&gt;
** From the command line, &amp;#039;cd&amp;#039; into the libpinproc directory and run the following commands:&lt;br /&gt;
&lt;br /&gt;
    mkdir bin&lt;br /&gt;
    cd bin&lt;br /&gt;
    cmake -G &amp;quot;MinGW Makefiles&amp;quot; ..&lt;br /&gt;
    mingw32-make&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX:PATH=C:\MinGW -P cmake_install.cmake&lt;br /&gt;
&lt;br /&gt;
** Note - If you want to build a shared library instead of a static one, add &amp;quot;-DLIB_TYPE=SHARED&amp;quot; before the -DEXTRA_INC... on the first cmake line. (3rd command).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Build pypinproc - libpinproc Python extension&lt;br /&gt;
** Install Python 2.6 if you don&amp;#039;t already have it.  Usually it installs to C:\Python2.6\&lt;br /&gt;
*** Note - pypinproc requires 32-bit Python, even on 64-bit Windows machines.  So please make sure to install the [http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi 32-bit version of Python ].&lt;br /&gt;
*** Create a file in C:\Python2.6\Lib\distutils\ called &amp;#039;distutils.cfg&amp;#039;, and enter the following two lines:&lt;br /&gt;
**** [build]&lt;br /&gt;
**** compiler=mingw32&lt;br /&gt;
** Download (and extract) [http://github.com/preble/pypinproc pypinproc] into a directory of your choice. Note - make sure you select the desired branch to download (either master or dev).&lt;br /&gt;
*** Download either by clicking &amp;#039;Download Sources&amp;#039; or by installing a git client and checking out the repository.&lt;br /&gt;
** From the command line, &amp;#039;cd&amp;#039; into your pypinproc directory&lt;br /&gt;
** edit setup.py:&lt;br /&gt;
*** Make sure the &amp;#039;include_dirs&amp;#039; line contains &amp;lt;your_path_to_libpinproc&amp;gt;/include     (note - use forward slashes instead of backslashes).&lt;br /&gt;
*** Make sure the &amp;#039;library_dirs&amp;#039; line contains &amp;#039;C:/MinGW/lib&amp;#039; since that&amp;#039;s where you put ftd2xx.lib and libpinproc.a       (note - use forward slashes instead of backslashes).&lt;br /&gt;
*** Change the &amp;#039;libraries&amp;#039; line to read:      (Note - the order of the libraries seems to matter; so copy the line exactly.)&lt;br /&gt;
**** libraries = [&amp;#039;pinproc&amp;#039;, &amp;#039;ftd2xx&amp;#039;],&lt;br /&gt;
*** Save and quit.&lt;br /&gt;
** Run &amp;#039;\Python2.6\python.exe setup.py install&amp;#039; in the pypinproc directory.&lt;br /&gt;
** This should compile pypinproc and install it into your Python packages directory.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;NOTE: &amp;#039;&amp;#039;&amp;#039; If the setup script complains about &amp;quot;error: unrecognized command line option &amp;#039;-mno-cygwin&amp;#039;&amp;quot; then the setup script must be modified since newer versions of GCC have dropped the legacy -mno-cygwin option.&lt;br /&gt;
*** go to C:\Python26\Lib\distutils\ and open cygwincompiler.py in Notepad or your favorite text editor&lt;br /&gt;
*** Edit lines 322-326 to look like this:&lt;br /&gt;
    self.set_executables(compiler=&amp;#039;gcc -O -Wall&amp;#039;,&lt;br /&gt;
                             compiler_so=&amp;#039;gcc -mdll -O -Wall&amp;#039;,&lt;br /&gt;
                             compiler_cxx=&amp;#039;g++ -O -Wall&amp;#039;,&lt;br /&gt;
                             linker_exe=&amp;#039;gcc&amp;#039;,&lt;br /&gt;
                             linker_so=&amp;#039;%s %s %s&amp;#039;&lt;br /&gt;
** Note that you&amp;#039;re only removing the -mno-cygwin option from the argument list.&lt;br /&gt;
*** Save the script and rerun &amp;#039;\Python2.6\python.exe setup.py install&amp;#039;&lt;/div&gt;</summary>
		<author><name>Steveshoyer</name></author>
	</entry>
</feed>