etiss icon indicating copy to clipboard operation
etiss copied to clipboard

change c++std to c++17

Open JoGei opened this issue 4 years ago • 7 comments

Sets ETISS' c++std to c++17.

JoGei avatar Jan 26 '21 13:01 JoGei

Windows build fails with this:

D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(330,47): error C2143: syntax error: missing ',' before '<' [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(334): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry::KeyOrder' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(346): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(1159): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>' being compiled [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(340,48): error C2143: syntax error: missing ',' before '<' [D:\a\etiss\build\ETISS.vcxproj]
D:\a\etiss\etiss\include\etiss/IntegratedLibrary/SimpleIni/SimpleIni.h(346): message : see reference to class template instantiation 'CSimpleIniTempl<SI_CHAR,SI_STRLESS,SI_CONVERTER>::Entry::LoadOrder' being compiled [D:\a\etiss\build\ETISS.vcxproj]

JoGei avatar Jan 26 '21 13:01 JoGei

the issue seems to be that std::binary_function was removed in c++17

https://stackoverflow.com/questions/33114656/replacement-for-stdbinary-function

maybe try just removing that inheritance?

rafzi avatar Jan 26 '21 13:01 rafzi

the issue seems to be that std::binary_function was removed in c++17

https://stackoverflow.com/questions/33114656/replacement-for-stdbinary-function

maybe try just removing that inheritance?

Yes that worked. Seems like the CI gcc has some legacy support and the Windows compiler does not.

JoGei avatar Jan 26 '21 13:01 JoGei

let's go back to c++14 according to the email discussion. we should keep the bin_func removal for the future.

rafzi avatar Jan 28 '21 10:01 rafzi

let's go back to c++14 according to the email discussion. we should keep the bin_func removal for the future.

Sure. But the bin_func deprecation should be also there for c++14?

JoGei avatar Jan 28 '21 10:01 JoGei

sorry that wasnt clearly written. i meant you can leave that change in, so that we do not have to do that again in the future

rafzi avatar Jan 29 '21 07:01 rafzi

sorry that wasnt clearly written. i meant you can leave that change in, so that we do not have to do that again in the future

Ok, I will just add this change to the open cpp14 pull request #45

JoGei avatar Jan 29 '21 08:01 JoGei