On Sun, 18 Dec 2022, Paul Meems wrote:

Thanks all for your suggestions.
I did some more research and it seems to be an issue with the preprocessor
on Windows.

Adding some brackets solves the issue as well:
// old
constexpr int64_t GDAL_PAM_DEFAULT_NODATA_VALUE_INT64 =
std::numeric_limits<int64_t>::min();
constexpr uint64_tGDAL_PAM_DEFAULT_NODATA_VALUE_UINT64=
std::numeric_limits<uint64_t>::max();
// new:
constexpr int64_t GDAL_PAM_DEFAULT_NODATA_VALUE_INT64 =*(*
std::numeric_limits<int64_t>::min*)*();
constexpr uint64_t GDAL_PAM_DEFAULT_NODATA_VALUE_UINT64 =*(*
std::numeric_limits<uint64_t>::max*)*();

Do you mean to add *(* and *)* or just ( and ) ?

I'm not sure what the impact would be for non-windows compilers, but if no
impact could this be changed in the code?

Thanks,

Paul Meems


Op za 17 dec. 2022 om 07:10 schreef <[email protected]>:

I'm not using MSVC, so this is a guess:
Are you including 'windows.h' without 'NOMINMAX' being defined?
Then you will get macros which interfere with the limits code.

Regards, Kai.

Paul Meems <[email protected]> hat am 17.12.2022 00:46 CET
geschrieben:


Thanks, Kurt for your response.

I'm getting a very vague error message:
E0040 expected an identifier.


 Regards,

Paul


Op za 17 dec. 2022 om 00:40 schreef Kurt Schwehr <[email protected]>:
What exact error are you getting?


On Fri, Dec 16, 2022 at 3:31 PM Paul Meems <[email protected]>
wrote:
Hello List,

We're trying to update MapWinGIS which is using the GDAL libraries
from gisinternals.com (http://gisinternals.com)
Currently, we use the stable daily of December
9: release-1928-gdal-3-5-mapserver-8-0

I'm using VS2019 (on Windows) to compile and I'm having issues with
two lines in gdal_pam.h, around line 215.
We need to change these two lines:

  * constexpr int64_t GDAL_PAM_DEFAULT_NODATA_VALUE_INT64 =
std::numeric_limits<int64_t>::min();
  * constexpr uint64_t GDAL_PAM_DEFAULT_NODATA_VALUE_UINT64 =
std::numeric_limits<uint64_t>::max();
To
  * constexpr int64_t GDAL_PAM_DEFAULT_NODATA_VALUE_INT64 =
LLONG_MIN;
  * constexpr uint64_t GDAL_PAM_DEFAULT_NODATA_VALUE_UINT64 =
LLONG_MAX;
I prefer not to alter the files from gisinternals.com (
http://gisinternals.com). Is this what we can solve on our end?
Is it related to the C++ version? We use these:

  * ISO C++14 Standard (/std:c++14)
  * ISO C11 Standard (/std:c11)
Thanks for any advice.

Paul Meems

_______________________________________________
 gdal-dev mailing list
 [email protected]
 https://lists.osgeo.org/mailman/listinfo/gdal-dev

_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev



--
Andrew C. Aitchison                      Kendal, UK
                   [email protected]
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to