C++Builder Port

I am starting a project of porting all my C++Builder code to Qt/PGI.

I am encountering the following error when trying to compiler some signal processing DLL’s:

“C:/PGI/Microsoft Open Tools 10/PlatformSDK/include/ifdef.h”, line 126: error:
long long bit field not supported
ULONG64 IfType:16; // equal to IANA IF type

Is this a compiler setting (bit field not supported)? All my code compiles fine.

Andrew -

I’m sorry to say that there is no compiler setting to enable long long bit fields for
C++ at the moment. We have created TPR 17694 , a request for this enhancement.
-Deb Caruso

Hi Deb,

Is there a workaround? I have not traced the dependencies to find what is causing the inclusion of ifdef.h, but the last resort is to modify the Open Tools SDK (not something to be done casually)!

Hi Deb,

I traced through the dependencies and made more progress by temporarily disabling some functionality. I am down to just 2 errors, but still in the SDK:

"C:/PGI/Microsoft Open Tools 10/PlatformSDK/include/oaidl.h", line 445: error:
          invalid combination of type specifiers
                  _VARIANT_BOOL bool;

"C:/PGI/Microsoft Open Tools 10/PlatformSDK/include/propidl.h", line 319: error:

          invalid combination of type specifiers
          _VARIANT_BOOL bool;

It seems to want to use “bool” as a member name. Any ideas?


Try pgCC --no_bool

It tells the compiler not to recognize bool as a keyword.