We finally succeded in building the debug version. I'm not sure this is the easiest way since we might have overlooked something, but here it goes:
Repeat the first three steps from the release version instructions (top of the page)
4. At this point we couldn't build since we had some problems with the QT debug libraries provided with the BCI2000 v3.0. So we decided to build our own QT. So we downloaded the newest version (
http://qt.nokia.com/downloads) of the SDK, which was 4.6.1 at the time. We had a lot of problms trying to build the whole qt, and we gave up in the end, but we managed to build the libraries important for the BCI2000 which are:
Code: Select all
QtCored4.lib
QtGuid4.lib
QtOpenGld4.lib
To do this configure with:
Code: Select all
configure -shared -debug -platform win32-msvc2005
go to the directories that have the names of the needed libraries and run nmake.
Than go to the Visual Studio and exchange all include paths pointing to the qt provided by BCI2000 to the corresponding include paths pointing to yours qt include paths in the properties of every project in the solution (Configuration properties -> C/C++ -> General -> Additional Include directories). For us this meant changing
Code: Select all
E:\BCI 2000 v3.0\src\extlib\qt\include into C:\Qt\2010.01\qt\include
Code: Select all
E:\BCI 2000 v3.0\src\extlib\qt\include\QtGui into C:\Qt\2010.01\qt\include\QtGui
Code: Select all
E:\BCI 2000 v3.0\src\extlib\qt\include\QtCore into C:\Qt\2010.01\qt\include\QtCore
Code: Select all
E:\BCI 2000 v3.0\src\extlib\qt\include\QtOpenGL into C:\Qt\2010.01\qt\include\QtOpenGL
In adition you have to change the libraries you link against from the ones provided by the BCI2000 to the ones you built in the properties of every project in the solution (Configuration properties -> Linker -> Input -> Additional Dependencies). For us this meant changing:
Code: Select all
"E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtGuid.lib" into "C:\Qt\2010.01\qt\lib\QtGuid4.lib"
Code: Select all
"E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtCored.lib" into "C:\Qt\2010.01\qt\lib\QtCored4.lib"
Code: Select all
"E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtOpenGLd4.lib" into "C:\Qt\2010.01\qt\lib\QtOpenGld4.lib"
For the end, you have to exchange the moc.exe belonging to the qt provided with the BCI2000 to the one belonging to the one you built. For us this meant copying
over
Code: Select all
E:\BCI 2000 v3.0\src\extlib\qt\mingw\bin\moc.exe
E:\BCI 2000 v3.0\src\extlib\qt\msvc\bin\moc.exe
5. Build the solution
I'm quite sure there is an easier way to do all this, but this worked for us. I'm not sure why the provided qt libraries are not working. I checked this second the qt lib directory in the BCI2000 files and there are QtCored4.lib and QtGuid4.lib libraries, so maybe just changing:
Code: Select all
"E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtGuid.lib" into "E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtGuid4.lib"
Code: Select all
"E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtCored.lib" into "E:\BCI 2000 v3.0\src\extlib\qt\msvc\lib\QtCored4.lib"
would do the trick. If someone can test this, I would be grateful.
It might also be the case that step number 3 is not necessary, but I'm quite sure release version is not going to compile without it, so it's beter to do it at the start, than later when you try to implement yur new code and compile as release.