MicBosi / VisualizationLibrary

Visualization Library is a C++ middleware for high-performance 2D and 3D graphics applications based on OpenGL 1.x-4.x supporting Windows, Linux and Mac OS X.
http://VisualizationLibrary.org
Other
339 stars 94 forks source link

Compilation error on Ubuntu 20.04 (KDE neon 5.21): explicit specialization in non-namespace scope ‘class vl::Vector2<T_Scalar>’ #196

Closed pauljurczak closed 3 years ago

pauljurczak commented 3 years ago

I'm building the master branch on Ubuntu 20.04 (KDE neon 5.21) with gcc 9.3.0 and compilation fails with this error:

[ 33%] Building CXX object src/vlCore/CMakeFiles/VLCore.dir/AABB.cpp.o
In file included from /home/paul/VisualizationLibrary/src/vlCore/Vector3.hpp:35,
                 from /home/paul/VisualizationLibrary/src/vlCore/AABB.hpp:35,
                 from /home/paul/VisualizationLibrary/src/vlCore/AABB.cpp:32:
/home/paul/VisualizationLibrary/src/vlCore/Vector2.hpp:113:14: error: explicit specialization in non-namespace scope ‘class vl::Vector2<T_Scalar>’
  113 |     template<>
      |              ^
In file included from /home/paul/VisualizationLibrary/src/vlCore/AABB.hpp:35,
                 from /home/paul/VisualizationLibrary/src/vlCore/AABB.cpp:32:
/home/paul/VisualizationLibrary/src/vlCore/Vector3.hpp:61:14: error: explicit specialization in non-namespace scope ‘class vl::Vector3<T_Scalar>’
   61 |     template<>
      |              ^
In file included from /home/paul/VisualizationLibrary/src/vlCore/Matrix4.hpp:35,
                 from /home/paul/VisualizationLibrary/src/vlCore/AABB.hpp:36,
                 from /home/paul/VisualizationLibrary/src/vlCore/AABB.cpp:32:
/home/paul/VisualizationLibrary/src/vlCore/Vector4.hpp:62:14: error: explicit specialization in non-namespace scope ‘class vl::Vector4<T_Scalar>’
   62 |     template<>
      |              ^
make[2]: *** [src/vlCore/CMakeFiles/VLCore.dir/build.make:63: src/vlCore/CMakeFiles/VLCore.dir/AABB.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:511: src/vlCore/CMakeFiles/VLCore.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
p

I tried CMAKE_CXX_FLAGS set to -std=c++11, -std=c++17 and -std=c++20 with the same result.

MicBosi commented 3 years ago

Thanks for reporting, this is fixed now. https://github.com/MicBosi/VisualizationLibrary/commit/e7270b68cd8fd8aa1d14893169d9527e4ae076a8