[Ext] Re: [xsd-users] XSD & Windows DLL linkage issues with std::string

Nicolas Weidmann n.weidmann at lombardodier.com
Mon Jun 22 10:27:44 EDT 2026


Hello Boris,

Thank you for your advice.

I threw everything away, copy / pasted the original code, removed the inheritance to std::basic_string and grepped for string<C in the XSD library headers to make sure I implemented every method and operators correctly.

And it solved the problem.

I must have missed something, but it was not related to those 4 operators, as I already had them in my initial implementation:

1. operator ==(const char*, const my_string&)
2. operator ==(const my_string&, const char*)
3. & 4. The equivalent for !=

I think I messed up with the initialization of the xsd::cxx::tree::simple_type base somewhere.

So, now everything works and links properly...

Thanks a lot for your help!

Regards,


Nicolas Weidmann
Banque Lombard Odier & Cie SA
Rue de la Corraterie 11 - 1204 Genève - Suisse
T +41 22 709 23 17
www.lombardodier.com
-----Original Message-----
From: Boris Kolpackov <boris at codesynthesis.com>
Sent: lundi, 22 juin 2026 14:28
To: Nicolas Weidmann <n.weidmann at lombardodier.com>
Cc: xsd-users at codesynthesis.com
Subject: Re: [Ext] Re: [xsd-users] XSD & Windows DLL linkage issues with std::string

Nicolas Weidmann <n.weidmann at lombardodier.com> writes:

> I wrote a wrapping class that uses, as underlying, a std::string, and
> the link errors are gone as you implied.
>
> I however now have the following issues with one of my data-bindings:
>
> unexpected enumerator encountered
>
> I will double check vs the original xsd::cxx::tree::string to see if I
> have done anything wrong...
>
> Unless you know exactly what I missed...

Not off the top of my head. But I believe this error is the result
of not being able to match any enumeration value in the generated
code. If the same worked with the original string type, then I would
look into the comparison operator (operator==) of your wrapper.
[[ rethink everything. ]]<https://www.lombardodier.com>

[[LinkedIn]]<https://www.linkedin.com/company/lombard-odier>  [[Twitter]] <https://twitter.com/lombardodier>   [[Facebook]] <https://facebook.com/lombardodier>   [[Instagram]] <https://www.instagram.com/lombardodier/>   [[YouTube]] <https://www.youtube.com/channel/UCqatbeqXskmWejbm0KPLV3w>

*** IMPORTANT NOTICE REGARDING INSTRUCTIONS by EMAIL ***
Please be aware that instructions received by e-mail should be
considered delayed and not executed unless they have been
specifically confirmed by your relationship manager/banker.
Email traffic during turbulent times in the financial markets is
high and cannot always be acted upon at all times.
Lombard Odier cannot be held liable for such delay in execution
or for the non-execution of an instruction given by email even
if it was given in due time. Therefore, instructions requiring
immediate action must be communicated by telephone by calling
the bank’s registered landline.
Thank you for your understanding.

*** IMPORTANT INFORMATION ABOUT DATA PROTECTION ***
You might be receiving this because you have provided us with
your contact details. If this is the case note that we may process
your personal data for direct marketing purposes.
If you wish to object to this processing, please notify the
Group’s Data Protection Officer<mailto:group-dataprotection at lombardodier.com>.
For more information: www.lombardodier.com/privacy-policy

DISCLAIMER **********************************************
This message is intended only for use by the person
to whom it is addressed. It may contain information
that is privileged and confidential. Its content does
not constitute a formal commitment by any company
of the Lombard Odier group. If you are not the intended
recipient of this message, kindly notify the sender
immediately and destroy this message. Thank You.
*******************************************************(dch)*




More information about the xsd-users mailing list