Build error on Windows

Jan-Marek Glogowski glogow at fbihome.de
Wed Oct 10 17:57:50 UTC 2018


Am 10.10.2018 um 11:05 schrieb Kaganski Mike:
> On 10/10/2018 12:02 PM, Stephan Bergmann wrote:
>> Looks like a bug in 
>> <https://cgit.freedesktop.org/libreoffice/core/commit/?id=1698debed2993fc5f262aa3ebbdb32fc112ac556> 
>> "Implement Windows VCL backend as plugin", which removed the shlwapi 
>> dependency from vcl/Library_vcl.mk but didn't add it to 
>> vcl/Library_vclplug_win.mk.
> 
> At least SDK 10.0.16299.0 doesn't seem to require it...

I did my build without specifying an SDK, so this uses the newest one on the system (from VS 2017).
I simply removed all dependencies and added libraries, until linking didn't fail anymore.
Mike added shlwapi in commit 095caf5c7501 ("Restore using shlwapi by VCL code on Windows"). Thanks
for that.

So I looked for information and found:

https://docs.microsoft.com/de-de/windows/desktop/WinProg/using-the-windows-headers

git grep _WIN32_WINNT finds a lot of different versions in our code, but most are just in StdAfx*.h
boilerplate after a #ifndef. We can probably also drop all the WINVER ones.

Which probably only leaves the version specified in com_MSC_defs.mk for Windows XP from commit
f01580ce9c5f ("Windows: Require at least Windows XP SP2") - was just an oversight?

I pushed an untested patch to Gerrit to get rid of all #ifndef => #define <some value> and the
duplication in com_MSC_defs.mk: https://gerrit.libreoffice.org/#/c/61631

>From configure.ac (will always use the newest one):
WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0 8.1A 8.1 8.0 7.1A"

Should we actually default to the oldest one for our build, or at least use that version for Jenkins?

Jan-Marek


More information about the LibreOffice mailing list