[PATCH] [PUSHED] Windows lcms2 library import fix
Tor Lillqvist
tml at iki.fi
Mon Mar 19 00:58:09 PDT 2012
> there is a link error in writerperfect's cdrimport, caused by libcdr/lcms2
> libraries. So as far as I understand it, on Windows a library uses dllexport
> when it is being built and dllimport when something else is built against it.
Actually, when importing, the dllimport attribute is optional (for
functions, not for data); it only makes the run-time linkage a bit
faster.
The problem here was (as far as I could see) that the stdcall
attribute wasn't used either unless CMS_DLL was defined.
"stdcall" is a calling convention that despite its name is *not* the
"standard" one for C code on (32-bit) Windows. That is "cdecl".
"stdcall" is a historical artefact still used by the core Windows API
itself, and by 3rd-party coders that seem to live in the past. (Yeah,
personal opinion, not "fact".)
(In 64-bit Windows much of the historical baggage has been cleaned out
and there is just one calling convention.)
Pushed your patch, with a clarification of the comment.
--tml
More information about the LibreOffice
mailing list