Hi Guilhem,
the problem was name mangling. Microsoft mangles both function *and*
variable names in C++.
The result was unresolved symbol error during the link.
Wrapping a variable in C_MODE_START/C_MODE_END definitely helps in this
case.
>, do you remember if one tried adding a
> C_MODE_START/C_MODE_END around the "extern LOCK_uuid_generator" of
> mysql_priv.h
If I remember correct, this was my first try, but then serg noticed that 2
UUID generators( "normal" uuids and "short" ones) are completely different
things and do not have to wait for each other.
Wlad
> -----Original Message-----
> From: Guilhem Bichot [mailto:guilhem@stripped]
> Sent: Tuesday, May 27, 2008 10:38 AM
> To: vaintroub@stripped
> Cc: maria@stripped
> Subject: LOCK_uuid_short in mysql-maria
>
> Hello,
>
> I'm going through the changes which we made into Maria compared to 5.1
> (to be sure I understand them before merging them into 6.0 :) and I
> have a question about that one
> vvaintroub/Wlad@vaio.
> Thu 2008-01-10 13:21:53 +0100
> Windows fixes
> ...
> -remove LOCK_uuid_generator from C++ files to avoid linker errors
>
> What was the problem with linker: that LOCK_uuid_generator, present in
> mysys (so, C library) could not be invoked from C++ object files of
> sql/ ?
> Was that the only reason? If so, do you remember if one tried adding a
> C_MODE_START/C_MODE_END around the "extern LOCK_uuid_generator" of
> mysql_priv.h? I could try this as an alternative (would save one
> mutex).
>
> Thank you for your help.
>
> --
> __ ___ ___ ____ __
> / |/ /_ __/ __/ __ \/ / Mr. Guilhem Bichot <guilhem@stripped>
> / /|_/ / // /\ \/ /_/ / /__ MySQL France, Lead Software Engineer
> /_/ /_/\_, /___/\___\_\___/ Bordeaux, France
> <___/ www.mysql.com