Brewtarget / brewtarget

Main brewtarget source code repository.
GNU General Public License v3.0
313 stars 134 forks source link

Errors in SucroseConversion.cpp when Compiling on Windows 10 under Visual Studio 2022 #743

Closed Lubart closed 1 year ago

Lubart commented 1 year ago

Errors: 4>SucroseConversion.cpp 4>D:\Git\brewtarget\src\measurement\SucroseConversion.cpp(47,55): error C2370: 'Measurement::sucroseConversions': redefinition; different storage class 4>D:\Git\brewtarget\src\measurement/SucroseConversion.h(33,35): message : see declaration of 'Measurement::sucroseConversions' 4>D:\Git\brewtarget\src\measurement\SucroseConversion.cpp(852,31): error C2370: 'Measurement::sucroseConversions_size': redefinition; different storage class 4>D:\Git\brewtarget\src\measurement/SucroseConversion.h(35,24): message : see declaration of 'Measurement::sucroseConversions_size' 4>D:\Git\brewtarget\src\measurement\SucroseConversion.cpp(852,31): error C2737: 'Measurement::sucroseConversions_size': constexpr object must be initialized

Lubart commented 1 year ago

Looks like error in declaration should be const instead of constexpr: size_t const Measurement::sucroseConversions_size = std::size(Measurement::sucroseConversions); and Measurement::SucroseConversion const Measurement::sucroseConversions[] = { ...

Can anybody fix that?

matty0ung commented 1 year ago

Yes, should be an easy fix. Always good to run the code through another compiler, as you discover more bugs / potential bugs.

matty0ung commented 1 year ago

I hope this is fixed in https://github.com/Brewtarget/brewtarget/releases/tag/v3.0.8, but I don't have Visual Studio installed, so have not checked directly. Please reopen this issue if the problem persists.