tzdb icon indicating copy to clipboard operation
tzdb copied to clipboard

C++Builder error compiling - constant expression expected - TZDB requires at least Delphi XE to compile!

Open jaridmo opened this issue 4 years ago • 3 comments

I am using RadStudio 10.3.3 (C++ Builder) to compile TZDB.pas and use, but I get an error on the following:

40 {$IF DECLARED(CompilerVersion)} 41 {$IF CompilerVersion >= 22} // Delphi XE + 42 {$DEFINE TZDB_SUPPORTED_COMPILER} 43 {$DEFINE DELPHI} 44 {$IFEND} 45 {$ENDIF}

The errors: [Pascal Error] TZDB.pas(41,32): E2026 Constant Expression expected [Pascal Error] TZDB.pas(50,4): E1054 TZDB requires at least Delphi XE or FreePascal 3.0 to compile! [Pascal Error] TZDB.pas(69,5): F2613 Unit 'FGL' not found.

I don't know if this is a problem in RadStudio 10.3.3 or if it is a problem with the C++ Builder side, but I can simply comment out the lines of code 40,41,44,45 and compile no problem. But I don't like doing this because whenever I update the source it will be a problem.

Any ideas?

jaridmo avatar Feb 11 '21 15:02 jaridmo

Hi @jaridmo -- it is outside my scope to deal with C++Builder. But if you provide a working patch I will gladly accept it.

pavkam avatar Dec 24 '21 16:12 pavkam

For more information: I ran into the same issue today using Delphi 11. image

I was able to resolve this simply by moving the unit name before the compiler directives.

DieFinsternis avatar Feb 02 '24 09:02 DieFinsternis