C++ Builder 6 vs lazarus - conflict in gnugettext
Brought to you by:
dybdahl
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.
Logged In: YES
user_id=1536201
Originator: YES
I forgot to mention that these constants are marked as "// Used by Lazarus software development tool"
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)?