Page 1 of 1

Compiler error: "long long" seems to be unknown

Posted: 29 Jan 2010, 08:41
by OliverHfmn
Hi, all

I just downloaded the current svn version and tried to build it with the Borland C++ 5.5.1 compiler (should be the newest one which is freely available) but all I get after executing make is:

Code: Select all

MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        if not exist .\obj mkdir .\obj
        bcc32 -Od -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c -tW -tWM -w-par -D_DEBUG;BCI_TOOL;NO_STRICT;_NO_VCL;SIGNAL_BACK_COMPAT
-I"..\..\..\shared\modules\signalsource";""..\..\..";"..\..\..\shared";"..\..\..\shared\config";"..\..\..\shared\accessors";"..\..
\..\shared\bcistream";"..\..\..\shared\fileio";"..\..\..\shared\types";"..\..\..\shared\modules";"..\..\..\shared\utils";"..\..\..
\shared\utils\Expression"";"..\..\..\extlib\matlab";"..\..\..\extlib\math";"..\..\..\extlib\fftlib";"C:\Borland\BCC55\Bin\..\inclu
de";"C:\Borland\BCC55\Bin\..\include\vcl" -c -o.\obj\bci_stubs.obj .\bci_stubs.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
.\bci_stubs.cpp:
Error E2176 ..\..\..\shared\accessors\ParamRef.h 59: Too many types in declaration
Error E2238 ..\..\..\shared\accessors\ParamRef.h 60: Multiple declaration for 'ParamRef::operator long() const'
Error E2344 ..\..\..\shared\accessors\ParamRef.h 55: Earlier declaration of 'ParamRef::operator long() const'
Error E2176 ..\..\..\shared\accessors\ParamRef.h 61: Too many types in declaration
Error E2238 ..\..\..\shared\accessors\ParamRef.h 62: Multiple declaration for 'ParamRef::operator unsigned long() const'
Error E2344 ..\..\..\shared\accessors\ParamRef.h 57: Earlier declaration of 'ParamRef::operator unsigned long() const'
Error E2176 ..\..\..\shared\defines.h 92: Too many types in declaration
Error E2176 ..\..\..\shared\defines.h 93: Too many types in declaration
*** 8 errors in Compile ***
Line 92 and 93 of defines.h are:

Code: Select all

typedef unsigned long long uint64;
typedef signed long long sint64;
so may there be a problem with "long long" for the bcc32 compiler?

And maybe is it possible to use gcc instead (which I'm more used to)?
Or is there a better bcc32 version which I missed?

Posted: 02 Feb 2010, 09:40
by mellinger
Hi,

thanks for reporting this issue. I fixed compilation of the command line tools using the Borland compiler.

When interested in compiling BCI2000 with compilers other than Borland's, you might check the upcoming version 3.0, which adds support for gcc (mingw) and MSVC (including the freely available Visual C++ 2008 Express Edition). Currently, version 3.0 is available at
http://www.bci2000.org/svn/branches/3.0

Best regards,
Juergen

Posted: 09 Feb 2010, 08:49
by OliverHfmn
Thanks, it seems to work now.

I also recognized, that I don't need to compile the whole BCI project if I only want to write some new modules, so this saves a lot of time ;)

If I have more time, I'll try the 3.0 branch with gcc, at the moment I'm happy that my modules work with the trunk version.