[gdal-dev] RFC68: C++11 compilation mode - Call for vote on adoption

Even Rouault even.rouault at spatialys.com
Thu Sep 7 02:58:37 PDT 2017


On jeudi 7 septembre 2017 07:47:40 CEST Mateusz Loskot wrote:
> On 7 September 2017 at 01:01, Joaquim Luis <jluis at ualg.pt> wrote:
> > On Wed, 06 Sep 2017 21:22:18 +0100, Mateusz Loskot <mateusz at loskot.net> wrote:
> >> On 6 September 2017 at 21:53, Kurt Schwehr <schwehr at gmail.com> wrote:
> >>> I was just about to write something along the lines that follow, but
> >>> Mateusz
> >>> looks to have more of an understanding.
> >>> 
> >>> My best guess was that it is an incomplete install of Windows?  e.g.
> >>> 
> >>> 
> >>> https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-> >>> runtime-in-windows>> 
> >> Universal C Runtime and Universal Windows Platform are two different
> >> beasts.
> >> Universal C Runtime is part of Windows 10+ system
> >> Kurt's link above leads to installer of Universal CRT for older
> >> Windows versions.
> >> 
> >> Here is into to Universal CRT
> >> 
> >> https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-univer
> >> sal-crt/
> >> 
> >> It is all related to the fact that VS2015 and VS2017 are binary
> >> compatible.
> > 
> > Well, this is in the minimum confusing and I may have been mislead by my
> > TortoiseSVN installation that ships those dlls. The link says:
> > 
> > "If you build software designed for use on Windows operating systems where
> > the Universal CRT is not guaranteed to be installed (i.e., Windows 8.1 and
> > below), your software will need to depend on the above mentioned Windows
> > Update packages to install the Universal CRT."
> 
> Yes, it is confusing. I also completely ignored the fact that I'm on Windows
> 10. where the Universal CRT is a system component, and since for others
> there is system update, I assumed everyone with up-to-date older Windows
> system has got that too.

I can give you some feedback regarding this. My Ubuntu 16.04 ship by default with wine 1.6 
and I tried newest Tamas GDAL builds for VS2017 and it didn't work because 
vcruntime140.dll that is provided in the zip requires linking against those api-ms-win-crt-*.dll 
that weren't included in it. I tried to install with winetricks the vs2015 redistribuable but 
didn't work because wine was too old, and it suggested to use Wine 2. Which I compiled from 
source, and then the GDAL builds worked there out of the box (no need to install the vs2015 
redistribuable) since this version of Wine provides the api-ms-win-crt-*.dll (their Wine 
implementation, not the MS binaries themselves)
I also see that OSGeo4W that now compiles GDAL & QGIS master against VS2015 has a 
package for the VS2015 redistribuable:
http://download.osgeo.org/osgeo4w/x86_64/release/msvcrt/msvcrt2015/
So I suspect the situation is the following :
* ship the api-ms-win-crt-*.dll next to your binaries and that should work everywhere
* if not shippig the api-ms-win-crt-*.dll next to your binaries:
  - Win7: install the VS2015 redistribuable
  - Win8: Windows update
  - Win10: works out of the box

Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170907/45613020/attachment.html>


More information about the gdal-dev mailing list