Build error on Windows
mikekaganski at hotmail.com
Wed Oct 10 19:14:36 UTC 2018
On 10/10/2018 8:57 PM, Jan-Marek Glogowski wrote:
> 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:
> 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?
When preparing for the conference, I created a build environment from
scratch, and followed our Wiki  to the letter (to test it). Then I
learned that, despite the guidelines told about the requirement to
install SDK 8.1 only, build process still required SDK 10 (I didn't
install SDK 10 initially, and only tested without specifying any
--with-windows-sdk ; in that case, the build failed until I have
installed SDK 10). So actually I don't see a reason to default to that
older version (mentioning about which I have removed from the wiki
page). Possibly we even can't build without SDK 10 present at all? then
I'd remove support for any older completely.
More information about the LibreOffice