VS2008 dynamic: 76 succeeded and 9 failed. All of the failed were application modules due to a 3DAPI error (posted below for clarity).
VS2008 static: I haven't done this in a while but I know I at least got the gUSBampSource module working though it had some peculiar behavior when combined with 32-bit BCPy2000.
MINGW-64 static: I was able to build most Source and SignalProcessing modules. I had the same problems with application modules as above. Another problem specific to this configuration was that building gUSBampSource generated an error (posted below for clarity).
The instructions below are prefixed with VS2008: or MINGW-64: depending on the compiler and with d: or s: whether this applies to Qt (precompiled) dynamic libraries or self-compiled static libraries. If there is no prefix, assume the directions are common to all methods. Note steps 4,5,6 are only necessary for Qt compilation.
Code: Select all
1. Download and install your compiler
1. VS2008: Visual Studio 2008 Standard (NOT EXPRESS), Trial version is OK.
2. MINGW-64: TDM-GCC (aka mingw toolchain) http://tdm-gcc.tdragon.net/download .
3. Make sure the compiler's executables are in the system path.
2. Download and install CMake http://www.cmake.org/cmake/resources/software.html
* Make sure its executables are in the system path
3. Download and 'install' Qt.
* VS2008 dynamic: http://code.google.com/p/qt-msvc-installer/downloads/list get the Win64 files.
* MINGW-64 dynamic: http://www.drangon.org/mingw/mirror.php?num=2&fname=qt-4.6.1-x86_64-w64-mingw32-20100218.7z though I couldn't get this to work for me.
* Either static: download the qt-everywhere-opensource zip file (not the auto-triggered exe) from http://qt.nokia.com/downloads/windows-cpp then extract it to <qtdir>
* Make sure the <qtdir>/bin is in your system path.
4. static: Download and install ActivePerl. Make sure its bin directory is in the system path.
5. static: Configure Qt for compilation
1. VS2008 static: In the file qt/mkspecs/win32-msvc2008/qmake.conf, or the corresponding file for MSVC2010, apply these changes: In QMAKE_CFLAGS_RELEASE and QMAKE_CFLAGS_DEBUG, replace the -MD and -MDd switches with -MT and -MTd, respectively.
2. Run the compiler command prompt and cd to the <qtdir>
3. Paste the following line into the command prompt and run it. Choose open source and accept the license to continue.
* configure -static -no-sql-sqlite -no-qt3support -fast -qt-zlib -qt-libpng -qt-libmng -no-libtiff -no-libjpeg -no-phonon -no-webkit -no-scripttools -no-style-plastique -no-style-motif -no-style-cde
6. static: Build Qt
* (Still in compiler command prompt)
* Run (VS2008:)nmake or (MINGW-64:)mingw32-make in each of the following directories, in order (they take some time)
1. qt/src/tools
2. qt/src/corelib
3. qt/src/gui
4. qt/src/winmain
5. qt/src/opengl
7. Tell BCI2000 to use standalone Qt
1. Edit BCI2000/build/cmake/FindQt.cmake. There, in line 10, replace SET(USE_STD_QT FALSE) with SET(USE_STD_QT TRUE)
2. MINGW-64: Edit BCI2000/build/cmake/BuildConfigurations.cmake. There, after line 21, add SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
8. Create the make files for BCI2000
1. VS2008: BCI2000/build/Make VS2008 Win64 Project Files.bat
2. MINGW-64: BCI2000/build/Make MinGW Makefiles.bat
9. Build BCI2000
1. VS2008:
1. Open BCI2000/build/BCI2000.sln
2. Change the solution configuration from 'debug' to 'release' in the drop-down menu.
3. Build solution. You will get a ton of warnings about type conversions. Be patient.
2. MingW-64:
1. In the command prompt, change to the BCI2000/build directory
2. run mingw32-make