fast-marching-method icon indicating copy to clipboard operation
fast-marching-method copied to clipboard

cmake --build . fails

Open Dr01TSPC opened this issue 5 years ago • 8 comments

I am using Ubuntu 18.04.

After cloning the fast-marching-method repository (HTTPS) to ~/fmm-git/fast_marching_method

I made a build directory ~fmm-git/fmm_build

and moved there. Then I executed

cmake ../fast_marching_method/test -DCMAKE_BUILD_TYPE=Release

That seemed to go well, as the build files were written. But

cmake --build .

Failed with pages of errors.

Can you provide any hints?

Thanks, Tim

Dr01TSPC avatar Dec 30 '19 21:12 Dr01TSPC

I am running into the same issue on MacOS.

Mark2000 avatar Jan 01 '20 23:01 Mark2000

Any chance you can paste the error messages here?

thinks avatar Jan 08 '20 09:01 thinks

This error appears to be the non-trivial one:

fast_marching_method.hpp: In constructor 'thinks::fast_marching_method::detail::VaryingSpeedEikonalSolverBase<T, N>::VaryingSpeedEikonalSolverBase(const std::array<_Tp, _Nm>&, const std::array<long unsigned int, N>&, const std::vector<_Tp>&)':
fast_marching_method.hpp:2027:7: error: class 'thinks::fast_marching_method::detail::VaryingSpeedEikonalSolverBase<T, N>' does not have any field named 'EikonalSolverBase'
     : EikonalSolverBase(grid_spacing)
       ^~~~~~~~~~~~~~~~~

I was able to avoid the rest by enabling -fpermissive.

umbra-scientia avatar Jan 10 '20 18:01 umbra-scientia

Thinks:

Sorry for misunderstanding what "here" meant (in your comment last week, which I read as an email.)

I post about 25% of the error message ("tome") below, by capturing it from the screen, and pasting it into a editor (to keep). Then copying from the editor. If there is a way to make it more readable to you, please let me know. I tried to post the entire message, but that created a comment that is longer than allowed.

Aside: I did read the comment by ubra-scientia wrt -fpermissive, but I decided to send you the error message which you requested.

Thanks, Tim

The base directory for this fmm project is: tscale/fmm-git/ which has two directories: fast-marching-method fmm-build

After moving into the fmm-build directory:

tscale:~/fmm-git/fast-marching-method$ cd ../fmm-build/ tscale:~/fmm-git/fmm-build$ cmake ../fast-marching-method/test -DCMAKE_BUILD_TYPE=Release -- Build type: Release -- Configuring done -- Generating done -- Build files have been written to: /home/tscale/fmm-git/fmm-build tscale:~/fmm-git/fmm-build$ cmake --build . [ 75%] Built target gtest [ 75%] Built target gtest_main [ 75%] Building CXX object CMakeFiles/fast-marching-method-test.dir/eikonal_solvers_test.cpp.o In file included from /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:23:0: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp: In constructor ‘thinks::fast_marching_method::detail::VaryingSpeedEikonalSolverBase<T, N>::VaryingSpeedEikonalSolverBase(const std::array<Tp, Nm>&, const std::array<long unsigned int, N>&, const std::vector<T>&)’: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2027:7: error: class ‘thinks::fast_marching_method::detail::VaryingSpeedEikonalSolverBase<T, N>’ does not have any field named ‘EikonalSolverBase’ : EikonalSolverBase(grid_spacing) ^~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp: In member function ‘T thinks::fast_marching_method::UniformSpeedEikonalSolver<T, N>::Solve(const std::array<int, N>&, const thinks::fast_marching_method::detail::Grid<T, N>&) const’: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2078:7: error: there are no arguments to ‘uniform_speed’ that depend on a template parameter, so a declaration of ‘uniform_speed’ must be available [-fpermissive] uniform_speed(), ^~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2078:7: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2079:7: error: there are no arguments to ‘grid_spacing’ that depend on a template parameter, so a declaration of ‘grid_spacing’ must be available [-fpermissive] grid_spacing()); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp: In member function ‘T thinks::fast_marching_method::HighAccuracyUniformSpeedEikonalSolver<T, N>::Solve(const std::array<int, N>&, const thinks::fast_marching_method::detail::Grid<T, N>&) const’: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2108:7: error: there are no arguments to ‘uniform_speed’ that depend on a template parameter, so a declaration of ‘uniform_speed’ must be available [-fpermissive] uniform_speed(), ^~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2109:7: error: there are no arguments to ‘grid_spacing’ that depend on a template parameter, so a declaration of ‘grid_spacing’ must be available [-fpermissive] grid_spacing()); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp: In member function ‘T thinks::fast_marching_method::VaryingSpeedEikonalSolver<T, N>::Solve(const std::array<int, N>&, const thinks::fast_marching_method::detail::Grid<T, N>&) const’: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2140:7: error: there are no arguments to ‘grid_spacing’ that depend on a template parameter, so a declaration of ‘grid_spacing’ must be available [-fpermissive] grid_spacing()); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp: In member function ‘T thinks::fast_marching_method::HighAccuracyVaryingSpeedEikonalSolver<T, N>::Solve(const std::array<int, N>&, const thinks::fast_marching_method::detail::Grid<T, N>&) const’: /home/tscale/fmm-git/fast-marching-method/test/../include/thinks/fast_marching_method/fast_marching_method.hpp:2172:7: error: there are no arguments to ‘grid_spacing’ that depend on a template parameter, so a declaration of ‘grid_spacing’ must be available [-fpermissive] grid_spacing()); ^~~~~~~~~~~~ In file included from /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:24:0: /home/tscale/fmm-git/fast-marching-method/test/util.hpp: In function ‘std::array<std::array<int, N>, (util::static_pow(3, N) - 1)> util::VertexNeighborOffsets()’: /home/tscale/fmm-git/fast-marching-method/test/util.hpp:269:21: error: ‘IndexIterator’ was not declared in this scope auto index_iter = IndexIterator<N>(index_size); ^~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::UniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:89:11: error: need ‘typename’ before ‘{anonymous}::UniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::UniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:92:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::UniformSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:92:64: error: template argument 1 is invalid typedef fmm::UniformSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:96:65: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_grid_spacing_elements = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:96:65: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:103:50: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_grid_spacing_element : invalid_grid_spacing_elements) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:106:67: error: expected ‘)’ before ‘{’ token auto grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:108:36: error: expected ‘,’ or ‘;’ before ‘{’ token auto const speed = ScalarType{1}; ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::UniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:131:11: error: need ‘typename’ before ‘{anonymous}::UniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::UniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:134:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::UniformSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:134:64: error: template argument 1 is invalid typedef fmm::UniformSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:138:50: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_speeds = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:138:50: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:145:35: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_speed : invalid_speeds) { ^~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:146:71: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:171:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:174:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyUniformSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:174:76: error: template argument 1 is invalid typedef fmm::HighAccuracyUniformSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:178:65: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_grid_spacing_elements = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:178:65: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:185:50: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_grid_spacing_element : invalid_grid_spacing_elements) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:188:67: error: expected ‘)’ before ‘{’ token auto grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:190:36: error: expected ‘,’ or ‘;’ before ‘{’ token auto const speed = ScalarType{1}; ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:213:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyUniformSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:216:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyUniformSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:216:76: error: template argument 1 is invalid typedef fmm::HighAccuracyUniformSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:220:50: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_speeds = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:220:50: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:227:35: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_speed : invalid_speeds) { ^~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:228:71: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::VaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:253:11: error: need ‘typename’ before ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:256:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:256:64: error: template argument 1 is invalid typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:260:65: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_grid_spacing_elements = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:260:65: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:267:50: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_grid_spacing_element : invalid_grid_spacing_elements) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:270:67: error: expected ‘)’ before ‘{’ token auto grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:274:26: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:274:26: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:274:26: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:274:73: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:298:11: error: need ‘typename’ before ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:301:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:301:64: error: template argument 1 is invalid typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:305:50: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_speeds = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:305:50: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:312:35: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_speed : invalid_speeds) { ^~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:313:71: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:318:24: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:318:24: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:318:24: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:318:71: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:341:11: error: need ‘typename’ before ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:344:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:344:64: error: template argument 1 is invalid typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:348:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:353:22: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size) - 1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:353:22: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:353:22: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:353:73: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size) - 1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:375:11: error: need ‘typename’ before ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::VaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:378:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:378:64: error: template argument 1 is invalid typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:382:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:387:24: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:387:24: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:387:24: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:387:71: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:410:11: error: need ‘typename’ before ‘{anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:413:42: error: ‘ScalarType’ was not declared in this scope typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:413:64: error: template argument 1 is invalid typedef fmm::VaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:418:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:423:22: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:423:22: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:423:22: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:423:69: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:428:52: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ auto const boundary_distances = vector<ScalarType>(1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:428:52: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:428:52: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:428:67: error: expected ‘)’ before ‘{’ token auto const boundary_distances = vector<ScalarType>(1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:452:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:455:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:455:76: error: template argument 1 is invalid typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:459:65: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_grid_spacing_elements = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:459:65: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:466:50: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_grid_spacing_element : invalid_grid_spacing_elements) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:469:67: error: expected ‘)’ before ‘{’ token auto grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:473:26: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:473:26: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:473:26: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:473:73: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:497:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:500:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:500:76: error: template argument 1 is invalid typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:504:50: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_speeds = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:504:50: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:511:35: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_speed : invalid_speeds) { ^~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:512:71: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:517:24: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:517:24: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:517:24: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:517:71: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:540:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:543:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:543:76: error: template argument 1 is invalid typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:547:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:551:22: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size) - 1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:551:22: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:551:22: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:551:73: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size) - 1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:573:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:576:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:576:76: error: template argument 1 is invalid typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:580:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:585:24: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:585:24: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:585:24: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:585:71: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:607:11: error: need ‘typename’ before ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:610:54: error: ‘ScalarType’ was not declared in this scope typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:610:76: error: template argument 1 is invalid typedef fmm::HighAccuracyVaryingSpeedEikonalSolver<ScalarType, kDimension> ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:615:69: error: expected ‘)’ before ‘{’ token auto const grid_spacing = util::FilledArray<kDimension>(ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:619:22: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:619:22: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:619:22: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:619:69: error: expected ‘)’ before ‘{’ token vector<ScalarType>(util::LinearSize(speed_grid_size), ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:624:52: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, class Alloc> class std::vector’ auto const boundary_distances = vector<ScalarType>(1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:624:52: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:624:52: error: template argument 2 is invalid /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:624:67: error: expected ‘)’ before ‘{’ token auto const boundary_distances = vector<ScalarType>(1, ScalarType{1}); ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In member function ‘virtual void {anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:648:11: error: need ‘typename’ before ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam::ScalarType’ because ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TypeParam’ is a dependent scope typedef TypeParam::ScalarType ScalarType; ^~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:651:31: error: ‘ScalarType’ was not declared in this scope typedef fmm::DistanceSolver<ScalarType, kDimension> EikonalSolverType; ^~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:651:53: error: template argument 1 is invalid typedef fmm::DistanceSolver<ScalarType, kDimension> EikonalSolverType; ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:654:65: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Tp, long unsigned int Nm> struct std::array’ auto const invalid_grid_spacing_elements = array<ScalarType, 4>{{ ^ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:654:65: note: expected a type, got ‘ScalarType’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:661:50: error: range-based ‘for’ expression of type ‘auto’ has incomplete type for (auto const invalid_grid_spacing_element : invalid_grid_spacing_elements) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody()::<lambda()> [with gtest_TypeParam = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:674:57: required from ‘struct {anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam>::TestBody() [with gtest_TypeParam = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:672:61: required from ‘void {anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:674:57: error: using invalid field ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::’ auto const eikonal_solver = EikonalSolverType(dx); ^~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:674:57: error: using invalid field ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:672:61: required from ‘void {anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:674:57: error: using invalid field ‘{anonymous}::DistanceSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:633:41: required from ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:627:57: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:633:27: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer)); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:633:27: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:633:9: error: expression list treated as compound expression in functional cast [-fpermissive] EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:627:57: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:633:41: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer)); ^~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:594:43: required from ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:591:59: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:594:29: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:594:29: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:594:11: error: expression list treated as compound expression in functional cast [-fpermissive] EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:591:59: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:594:43: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedGridSizeThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:561:41: required from ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:558:57: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:561:27: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:561:27: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:561:9: error: expression list treated as compound expression in functional cast [-fpermissive] EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:558:57: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:561:41: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedBufferThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:527:43: required from ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:524:59: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:527:29: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:527:29: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:527:11: error: expression list treated as compound expression in functional cast [-fpermissive] EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:524:59: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:527:43: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidSpeedThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:483:45: required from ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:480:61: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:483:31: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:483:31: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:483:13: error: expression list treated as compound expression in functional cast [-fpermissive] EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘struct {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:480:61: required from ‘void {anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:684:1: required from here /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:483:45: error: using invalid field ‘{anonymous}::HighAccuracyVaryingSpeedEikonalSolverTest_InvalidGridSpacingThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()>::<grid_spacing capture>’ EikonalSolverType(grid_spacing, speed_grid_size, speed_buffer); ^~~~~~~~~~~~~~~ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp: In instantiation of ‘{anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody()::<lambda()> [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’: /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:437:41: required from ‘struct {anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]::<lambda()>’ /home/tscale/fmm-git/fast-marching-method/test/eikonal_solvers_test.cpp:431:57: required from ‘void {anonymous}::VaryingSpeedEikonalSolverTest_IndexOutsideSpeedGridThrows_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = util::ScalarDimensionPair<double, 4>]’

Dr01TSPC avatar Jan 15 '20 17:01 Dr01TSPC

Confirmed, the tests don't build.

Branch: master Compiler: gcc 8.4.0 Used CMake flag -DCMAKE_CXX_STANDARD=17 to manually confirm the C++ standard.

I spent about an hour working through all the compiler errors caused by eikonal_solvers_test.cpp. Some common flavors:

  • Missing typename keyword
  • Out-of-order declarations (functions called before being declared, such as ToString and ThrowIfZeroElementInSize)
  • Using unqualified names (uniform_speed() instead of detail::UniformSpeedEikonalSolverBase<T,N>::uniform_speed())

After all that, the tests only validate whether exceptions are thrown on misconfiguration. I'm honestly pretty disappointed -- I had high hopes for this library, as the technical discussion of FMM is spectacular. A robust, header-only FMM library would be perfect for my project. Please fix this!

rconnorlawson avatar Oct 16 '20 21:10 rconnorlawson

Hi Connor,

There are a few issues with this repo, I think you have only touched on some of them. It is indeed unfortunate that this repo promises more than it delivers, in the sense that the documentation is better than both the code and the build system.

I think that adding some Github actions would be really helpful, similar to how I have done it here: https://github.com/thinks/poisson-disk-sampling. It becomes much more clear what is supported and not.

I need to consider some options at this point:

  • I could put a disclaimer at the top of the readme to be clear about the limitations.
  • I could take the repo down, since there is a risk that people waste their time trying to use it.
  • I could add Github actions (which then would also presumably lead to having to "fix" a lot of the code issues).
  • I could just fix the current issues (and have it break down again at some point in the future).

I will need to consider these options in the near future.

Best,

T

On Fri, 16 Oct 2020 at 23:11, Connor Lawson [email protected] wrote:

Confirmed, the tests don't build.

Branch: master Compiler: gcc 8.4.0 Used CMake flag -DCMAKE_CXX_STANDARD=17 to manually confirm the C++ standard.

I spent about an hour working through all the compiler errors caused by eikonal_solvers_test.cpp. Some common flavors:

  • Missing typename keyword
  • Out-of-order declarations (functions called before being declared, such as ToString and ThrowIfZeroElementInSize)
  • Using unqualified names (uniform_speed() instead of detail::UniformSpeedEikonalSolverBase<T,N>::uniform_speed())

After all that, the tests only validate whether exceptions are thrown on misconfiguration. I'm honestly pretty disappointed -- I had high hopes for this library, as the technical discussion of FMM is spectacular. A robust, header-only FMM library would be perfect for my project. Please fix this!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/thinks/fast-marching-method/issues/3#issuecomment-710641063, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHSRVZUUZIZMMKDNB7PSLDSLCZJTANCNFSM4KBQPREQ .

thinks avatar Oct 18 '20 11:10 thinks

Hey @thinks,

I'm happy to push up a pull request with the patches I mentioned above, and to help validate/work on the build system in my environment if that would be useful to you. I don't know anything about Github actions, so I'm not sure how much I can help in that realm.

Can you clarify what the original target environment was (C++ version, compiler+version, OS), and the desired target now if it's different? I assumed C++17 based on the most recent commit dates and because it seemed at rough glance to complain the least by a small margin.

Cheers, Connor

rconnorlawson avatar Oct 21 '20 12:10 rconnorlawson

Github actions allow one to have a CI system in place, that builds the repo and runs tests on every commit (or PR, or however you set it up). It can build on multiple platforms with multiple compilers. It is a relatively new thing, but it is of course very powerful. If I wanted to seriously revive this project that is the route I would take. It is kind of you to offer to submit a PR, but at this point I think you are better off forking the repo and making your fixes there. If I find the time to do any further work on this I will likely be starting almost from scratch anyway.

The intended target environment was Windows, MSVC, probably C++14 or so. I guess C++17 was kinda bleeding edge at the time and I don't think I was using any C++17 specific constructs in the code, but it's been a while.

On Wed, 21 Oct 2020 at 14:35, Connor Lawson [email protected] wrote:

Hey @thinks https://github.com/thinks,

I'm happy to push up a pull request with the patches I mentioned above, and to help validate/work on the build system in my environment if that would be useful to you. I don't know anything about Github actions, so I'm not sure how much I can help in that realm.

Can you clarify what the original target environment was (C++ version, compiler+version, OS), and the desired target now if it's different? I assumed C++17 based on the most recent commit dates and because it seemed at rough glance to complain the least by a small margin.

Cheers, Connor

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/thinks/fast-marching-method/issues/3#issuecomment-713536836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHSRV4ATVNSH5EQ3EHFKVTSL3IQNANCNFSM4KBQPREQ .

thinks avatar Oct 21 '20 20:10 thinks