> * **Note:** This issue is the cause of 3 of the 13 remaining test failures des…cribed in https://github.com/spinalcordtoolbox/spinalcordtoolbox/issues/3682#issuecomment-1042079185.
I can build `isct_dice_coefficient` using my Windows 10 environment, but I cannot build `isct_propseg`. When I try, I receive many errors:
<details>
```
1>------ Build started: Project: isct_propseg, Configuration: Release x64 ------
1> DeformableModelBasicAdaptator.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(16): fatal error C1083: Cannot open include file: 'alglib/ap.h': No such file or directory
1> GlobalAdaptation.cpp
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(25): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(26): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(37): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(38): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(47): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(49): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(51): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(60): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(61): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(81): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(82): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(89): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(92): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(165): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(166): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(173): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(176): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(180): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(181): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(182): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(205): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(207): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(209): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(350): error C2065: 'M_PI': undeclared identifier
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(415): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(417): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(419): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(422): error C2065: 'M_PI': undeclared identifier
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp(97): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp(178): warning C4018: '<': signed/unsigned mismatch
1> Image3D.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(297): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(297): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(304): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(304): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(327): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(327): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(340): error C2664: 'void itk::TriangleCell<CellInterfaceB>::SetPointIds(const unsigned __int64 *,const unsigned __int64 *)': cannot convert argument 1 from 'unsigned long [3]' to 'const unsigned __int64 *'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(340): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(352): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(352): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(360): error C2664: 'void itk::TriangleCell<CellInterfaceB>::SetPointIds(const unsigned __int64 *,const unsigned __int64 *)': cannot convert argument 1 from 'unsigned long *' to 'const unsigned __int64 *'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(360): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> Initialisation.cpp
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): error C3861: 'vcl_atan': identifier not found
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): error C2789: 'nPI': an object of const-qualified type must be initialized
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): note: see declaration of 'nPI'
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(605): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(613): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(630): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(699): warning C4805: '==': unsafe mix of type 'unsigned char' and type 'bool' in operation
1> Main.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(25): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(26): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(37): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(38): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(47): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(49): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(51): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(60): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(61): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(81): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(82): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(89): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(92): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(165): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(166): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(173): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(176): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(180): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(181): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(182): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(205): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(207): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(209): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(350): error C2065: 'M_PI': undeclared identifier
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(415): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(417): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(419): warning C4018: '<': signed/unsigned mismatch
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(422): error C2065: 'M_PI': undeclared identifier
1> Mesh.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(357): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(357): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(394): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(394): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(446): error C2676: binary '[': 'vtkMatrix4x4' does not define this operator or a conversion to a type acceptable to the predefined operator
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(521): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(521): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(601): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(601): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(625): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(625): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(689): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(689): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(759): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(759): note: Conversion loses qualifiers
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(845): warning C4805: '==': unsafe mix of type 'unsigned char' and type 'bool' in operation
1> Orientation.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): error C3861: 'vcl_atan': identifier not found
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): error C2789: 'nPI': an object of const-qualified type must be initialized
1> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): note: see declaration of 'nPI'
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(327): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(335): warning C4018: '<': signed/unsigned mismatch
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(352): warning C4018: '<': signed/unsigned mismatch
1> PropagatedDeformableModel.cpp
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\PropagatedDeformableModel.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(16): fatal error C1083: Cannot open include file: 'alglib/ap.h': No such file or directory
1> SpinalCord.cpp
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\SpinalCord.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
1> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1> VertebralIdentification.cpp
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(16): fatal error C1083: Cannot open include file: 'alglib/ap.h': No such file or directory
1> MatrixNxM.cpp
1>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
1>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(16): fatal error C1083: Cannot open include file: 'alglib/ap.h': No such file or directory
1> Generating Code...
2>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------
2>Project not selected to build for this solution configuration
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 1 skipped ==========
```
</details>
This first set of errors refers to `alglib/ap.h`. So, I downloaded the Free Edition of [alglib](https://www.alglib.net/), copied over the relevant files to `dev/isct_propseg/util/alglib`, then re-ran the build:
<details>
```cmake
1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
1> Checking Build System
1> CMake is re-running because C:/Users/Joshua/repos/spinalcordtoolbox/dev/isct_propseg/build/CMakeFiles/generate.stamp is out-of-date.
1> the file 'C:/Users/Joshua/repos/spinalcordtoolbox/dev/isct_propseg/CMakeLists.txt'
1> is newer than 'C:/Users/Joshua/repos/spinalcordtoolbox/dev/isct_propseg/build/CMakeFiles/generate.stamp.depend'
1> result='-1'
1> -- Selecting Windows SDK version to target Windows 10.0.19043.
1> CMake Deprecation Warning at CMakeLists.txt:7 (cmake_minimum_required):
1> Compatibility with CMake < 2.8.12 will be removed from a future version of
1> CMake.
1>
1> Update the VERSION argument <min> value or use a ...<max> suffix to tell
1> CMake that the project does not need compatibility with older versions.
1>
1>
1> CMake Deprecation Warning at C:/Users/Joshua/Documents/VTK-9.1.0/build/lib/cmake/vtk-9.1/vtk-use-file-deprecated.cmake:1 (message):
1> The `VTK_USE_FILE` is no longer used starting with 8.90.
1> Call Stack (most recent call first):
1> CMakeLists.txt:50 (INCLUDE)
1>
1>
1> -- Configuring done
1> -- Generating done
1> -- Build files have been written to: C:/Users/Joshua/repos/spinalcordtoolbox/dev/isct_propseg/build
2>------ Build started: Project: isct_propseg, Configuration: Release x64 ------
2> DeformableModelBasicAdaptator.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2061: syntax error: identifier 'real_2d_array'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2535: 'Matrice::Matrice(void)': member function already defined or declared
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(21): note: see declaration of 'Matrice::Matrice'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2143: syntax error: missing ';' before '&'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C3646: 'matrice_': unknown override specifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h(86): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h(143): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(152): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(275): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(292): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(320): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(329): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(368): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.cpp(368): note: Conversion loses qualifiers
2> GlobalAdaptation.cpp
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(25): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(26): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(37): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(38): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(47): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(49): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(51): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(60): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(61): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(81): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(82): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(89): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(92): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(165): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(166): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(173): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(176): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(180): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(181): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(182): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(205): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(207): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(209): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(350): error C2065: 'M_PI': undeclared identifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(415): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(417): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(419): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(422): error C2065: 'M_PI': undeclared identifier
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp(97): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\GlobalAdaptation.cpp(178): warning C4018: '<': signed/unsigned mismatch
2> Image3D.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(297): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(297): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(304): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(304): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(327): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(327): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(340): error C2664: 'void itk::TriangleCell<CellInterfaceB>::SetPointIds(const unsigned __int64 *,const unsigned __int64 *)': cannot convert argument 1 from 'unsigned long [3]' to 'const unsigned __int64 *'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(340): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(352): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(352): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(360): error C2664: 'void itk::TriangleCell<CellInterfaceB>::SetPointIds(const unsigned __int64 *,const unsigned __int64 *)': cannot convert argument 1 from 'unsigned long *' to 'const unsigned __int64 *'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Image3D.cpp(360): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
2> Initialisation.cpp
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): error C3861: 'vcl_atan': identifier not found
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): error C2789: 'nPI': an object of const-qualified type must be initialized
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(549): note: see declaration of 'nPI'
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(605): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(613): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(630): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Initialisation.cpp(699): warning C4805: '==': unsafe mix of type 'unsigned char' and type 'bool' in operation
2> Main.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(25): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(26): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(37): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(38): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(47): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(49): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(51): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(60): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(61): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(81): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(82): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(89): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(92): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(165): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(166): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(173): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(176): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(180): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(181): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(182): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(205): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(207): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(209): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(350): error C2065: 'M_PI': undeclared identifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(415): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(417): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(419): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(422): error C2065: 'M_PI': undeclared identifier
2> Mesh.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(357): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(357): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(394): error C2664: 'int vtkCellArray::GetNextCell(vtkIdList *)': cannot convert argument 2 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(394): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(446): error C2676: binary '[': 'vtkMatrix4x4' does not define this operator or a conversion to a type acceptable to the predefined operator
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(521): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(521): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(601): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(601): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(625): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(625): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(689): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(689): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(759): error C2664: 'void vtkCellArray::GetCell(vtkIdType,vtkIdList *)': cannot convert argument 3 from 'vtkIdType *' to 'const vtkIdType *&'
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(759): note: Conversion loses qualifiers
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.cpp(845): warning C4805: '==': unsafe mix of type 'unsigned char' and type 'bool' in operation
2> Orientation.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): error C3861: 'vcl_atan': identifier not found
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): error C2789: 'nPI': an object of const-qualified type must be initialized
2> C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(269): note: see declaration of 'nPI'
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(327): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(335): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\Orientation.cpp(352): warning C4018: '<': signed/unsigned mismatch
2> PropagatedDeformableModel.cpp
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\PropagatedDeformableModel.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2061: syntax error: identifier 'real_2d_array'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2535: 'Matrice::Matrice(void)': member function already defined or declared
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(21): note: see declaration of 'Matrice::Matrice'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2143: syntax error: missing ';' before '&'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C3646: 'matrice_': unknown override specifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h(86): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\DeformableModelBasicAdaptator.h(143): warning C4018: '<': signed/unsigned mismatch
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\Smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>C:\Users\Joshua\Documents\ANTs\build\ITKv5\Modules\Filtering\ImageFilterBase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\imagefilterbase\include\itkRecursiveSeparableImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\documents\ants\build\itkv5\modules\filtering\smoothing\include\itkRecursiveGaussianImageFilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(25): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(26): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(37): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(38): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(47): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(49): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(51): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(60): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCTemplate.h(61): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(81): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(82): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(89): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(92): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(165): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(166): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(173): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(176): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(180): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(181): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(182): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(205): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(207): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(209): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(415): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(417): warning C4018: '<': signed/unsigned mismatch
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\SCRegion.h(419): warning C4018: '<': signed/unsigned mismatch
2> SpinalCord.cpp
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\SpinalCord.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): error C2440: 'default argument': cannot convert from 'int' to 'itk::SmartPointer<itk::Image<double,3>>'
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\Mesh.h(55): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2> VertebralIdentification.cpp
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2061: syntax error: identifier 'real_2d_array'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(23): error C2535: 'Matrice::Matrice(void)': member function already defined or declared
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(21): note: see declaration of 'Matrice::Matrice'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2143: syntax error: missing ';' before '&'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(29): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C3646: 'matrice_': unknown override specifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util/MatrixNxM.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2> MatrixNxM.cpp
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.cpp : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h : warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(23): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(23): error C2061: syntax error: identifier 'real_2d_array'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(23): error C2535: 'Matrice::Matrice(void)': member function already defined or declared
2> c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(21): note: see declaration of 'Matrice::Matrice'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(29): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(29): error C2143: syntax error: missing ';' before '&'
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(29): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(46): error C2653: 'ap': is not a class or namespace name
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(46): error C3646: 'matrice_': unknown override specifier
2>c:\users\joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Users\Joshua\repos\spinalcordtoolbox\dev\isct_propseg\util\MatrixNxM.cpp(2): fatal error C1083: Cannot open include file: 'alglib/blas.h': No such file or directory
2> Generating Code...
3>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------
3>Project not selected to build for this solution configuration
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 1 skipped ==========
```
</details>
Notes:
* There is a fatal error referencing `alglib/blas.h`, which is _not_ present in the current free edition of Alglib. It may be paywalled, or perhaps it may be in an earlier version of Alglib... 😕
* Additionally, many of these errors seem to be due to issues with the `isct_propseg` source code.
* However, it's possible that there are issues with my build environment, too, given the following snippet from the `CMakeList.txt` file:
https://github.com/spinalcordtoolbox/spinalcordtoolbox/blob/f1766ed3f63b4d83fecb7a382b357a2427d8e6c2/dev/isct_propseg/CMakeLists.txt#L10-L12
* So, here are the versions of relevant software:
* Windows: Windows 10 Pro 21H1 19043.1526 (Windows Feature Experience Pack 120.2212.4170.0)
* CMake: 3.23.0-rc1
* Visual Studio: Community 2015 (Version 14.0.25431.01 Update 3)
* Visual C++: 2015 (00322-20000-00000-AA589)
* ITK: v5.2.0
* VTK: v9.1.0
> * Related:
> * #1543
> * #1685