Menu

#138 C++ Builder 6 vs lazarus - conflict in gnugettext

open
None
9
2008-06-17
2008-05-15
TomaszB
No

Hello,

Both the latest installable version (1.2.2) and downloaded from svn (head branch) is unusable with C++ Builder 6 (service pack 6).

File gnugettext.hpp automatically generated from gnugettext.pas contains two lines:

static const Shortint LOCALE_SISO639LANGNAME = 0x59;
static const Shortint LOCALE_SISO3166CTRYNAME = 0x5a;

which seem to be in conflict with the same constants from window header (i guess) - see LCTYPE on http://msdn.microsoft.com/en-us/library/bb507201.aspx

Compiler reports error:
[C++ Error] gnugettext.hpp(390): E2040 Declaration terminated incorrectly

If I change the name of these constants or comment it out in pas file it will allow to use the gnugettext.hpp in project and compile it.

Discussion

  • TomaszB

    TomaszB - 2008-05-15

    Logged In: YES
    user_id=1536201
    Originator: YES

    I forgot to mention that these constants are marked as "// Used by Lazarus software development tool"

     
  • TomaszB

    TomaszB - 2008-05-15
    • priority: 5 --> 9
    • summary: C++ Builder 6: unable to use gnugettext.hpp --> C++ Builder 6 vs lazarus - conflict in gnugettext
     
  • Lars B. Dybdahl

    Lars B. Dybdahl - 2008-06-17
    • assigned_to: nobody --> dybdahl
     
  • Vaclav Korecek

    Vaclav Korecek - 2008-08-19

    Logged In: YES
    user_id=358721
    Originator: NO

    Same here.

    I think there should be used {$EXTERNALSYM ...} directive in the pas file for C++ Builder.

    const
    LOCALE_SISO639LANGNAME = $59; // Used by Lazarus software development tool
    LOCALE_SISO3166CTRYNAME = $5A; // Used by Lazarus software development tool
    {$EXTERNALSYM LOCALE_SISO639LANGNAME}
    {$EXTERNALSYM LOCALE_SISO3166CTRYNAME}

    Is it possible to use this correction? And if yes...
    Can you add it in next release of dxgettext (working for C++ and
    Lazarus as well)?

     

Log in to post a comment.