On 20 August 2011 16:33, Kohei Yoshida <kohei.yoshida@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 ?
http://opengrok.libreoffice.org/xref/core/sfx2/source/appl/appinit.cxx#209
aLibName seems to be expanded to cuilo.lib
Here is the name defined when compiling:
http://opengrok.libreoffice.org/xref/core/vcl/source/window/abstdlg.cxx#45
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
HTH,
Matúš
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.