[Libreoffice] Naming clash on icuin.lib on Windows build

Matúš Kukan matus.kukan at gmail.com
Sat Aug 20 08:08:42 PDT 2011

On 20 August 2011 16:33, Kohei Yoshida <kohei.yoshida at gmail.com> wrote:
> So, I was looking into a mysterious build breakage in forms (on
> WIndows).  It would fail at link time due to missing external symbols.
>  It was expecting to find those symbols from icuin.lib, which is a
> static library file generated from the icu module.
> The funny thing is, when I do
> cd icu
> rm -rf $INPATH
> build
> deliver
> and re-build forms afterward, it builds fine.
> After many hours of hair-pulling investigation, I've come to find out
> that both icu and cui modules produce a static library named
> "icuin.lib", and the forms library tries to link to icuin.lib that's
> produced by the cui module, not the one from icu module which has
> already been overwritten, hence the link failure.
oh, this is not nice.

> The question here is, how do we go about fixing this?
Well, hopefully I have fixed the problem. The cui part. No reason for
changing name on windows there I think.
But I don't know anything about icu and MSVC, and if we can also
create icui18n for windows.

And when talking about cui library. This loading is working for windows ?
aLibName seems to be expanded to cuilo.lib

Here is the name defined when compiling:

> Also the reason why this won't happen on non-Windows platform is that,
> when building icu, the library name becomes icui18n, not icuin, hence
> no naming clashes.
> The cleanest solution (to me) is to have icu produce icui18n.lib
> instead of icuin.lib, but I'm guessing there is a reason why MSVC
> generates icuin.lib with the '18' stripped out?
> Kohei



More information about the LibreOffice mailing list