Creating singleton UNO components in C++

Dennis Francis at
Wed Nov 2 01:52:17 UTC 2016

> For one, the SingletonComponent.components contained an unexpanded
>   environment="@CPPU_ENV@"
> attribute.  Replace "@CPPU_ENV@" with the actual environment name ("gcc3"
> for GCC-based Linux/macOS/etc., "msci" for 32-bit Windows/MSVC, "mscx" for
> 64-bit Windows/MSVC; see gb_CPPU_ENV in solenv/gbuild/platform/).
> For another, note that specifying the environment in the .component file
> is a LibreOffice-internal optimization (that may change again in the future
> and should not be used in extensions; see <
> libreoffice/core/commit/?id=b1d65c9f1535c9ef283d2a91a225359e5983f747>
> "Allow setting environment value directly in .component files"). Extensions
> must instead export a C function component_getImplementationEnvironment,
> see e.g. desktop/test/deployment/passive/passive_native.cxx.

Thanks a lot Stephan. Works fine now after
implementing component_getImplementationEnvironment
and component_getFactory instead of mentioning environment and constructor
in .components xml file.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the LibreOffice mailing list