Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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.

The question here is, how do we go about fixing this?

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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.