-
Notifications
You must be signed in to change notification settings - Fork 0
Windows
The master branch currently compiles and runs on Windows (using Visual Studio 2012), although it's still not fully tested. We'd appreciate any input on bugs and issues with it.
Windows, which is not a Unix-based system, requires the following dependencies to work:
- libFTDI (Tested with v0.20)
- libUSB-win32 (Required version > 1.2.6.0. See notes)
- freeGLUT (Tested with v2.8.0)
- FTGL (Tested with v2.1.3)
- freetype2 (Tested with v2.3.5)
To build it, the glext.h is needed. You can download it here.
Note that all the dependencies, as well as the include files and libraries, are located in the windeps folder inside the windows branch. The Visual Studio project is configured to automatically use the dependencies located there. Please note that building the application on Windows might fail at the linking stage due to runtime issues inherent to Windows. If that's the case, manually building the libraries on the same system should solve the problem. We recommend first trying to build with the precompiled dependencies, though.
Due to the specific nature of the Windows system, it's impossible for a userspace library to directly access an USB device as in Linux or OS X. For this reason, you need to install the LibUSB driver to run the open-ephys software.
Follow the instructions here under "Device Driver Installation". If by any chance windows installs the actual FTDI driver, don't worry, just follow the instructions until the inf is saved and then click on "install now" on the wizard. It will replace anything already installed.
Note: On windows 8 machines, you will need to disable driver signature enforcement. Follow instructions here.
To build libFTDI with Visual Studio you need to follow these steps:
- Build libUSB-win 32
- Copy (or rename) lusb0_usb.h to usb.h
- Apply the ftdi_exports patch file included in the windeps folder to libFTDI
- Open a Visual Studio console and get into the src folder of libFTDI
- Run the following command: cl /Ox /LD -I <path_of_libusb_includes> ftdi.c /Felibftdi.dll <path_of_libusb_libs>\libusb.lib
Running the Jucer will create a VS2010 project that can be safely imported into VS2012. That autogenerated project, however, lacks some settings needed to build the code. Open the project property editor and be sure that:
- On "VC++ Directories" the Include and Library directories mut contain the path to either the provided libraries and headers on the windeps directory or your custom compiled ones.
- On "C/C++/Preprocessor" the preprocessor definitions must include "NOMINMAX", as well as the standard "WIN32" and "_WIN32"
- On "Linker/Input" the Additional dependencies must include the following libraries, besides the default ones: "setupapi.lib;opengl32.lib;glu32.lib;ftgl.lib;libftdi.lib"
Also note that the dlls included on windeps must be either in the windows system folder or the output executable one for it to work.
This section is for new code added to the GUI. For new source files to compile on windows, you must be sure that you include Windows.h before you include JuceHeader.h. The resulting header should look like this:
#ifdef WIN32
#include <Windows.h>
#endif
#include "../../JuceLibraryCode/JuceHeader.h"
<< Back to OS X issues | Continue to Custom processors >>