Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLM version 0.9.7 fails to compile with g++/C++11 #405

Closed
droneklef opened this issue Sep 14, 2015 · 7 comments
Closed

GLM version 0.9.7 fails to compile with g++/C++11 #405

droneklef opened this issue Sep 14, 2015 · 7 comments

Comments

@droneklef
Copy link

I cannot compile GLM version 0.9.7 with g++ version 4.9.3 and -std=c++11. Disabling C++11 or downgrading to version 0.9.5 resolves this issue. This is the program I'm trying to compile:

#include "glm/vec3.hpp"
#include "glm/gtx/io.hpp"
#include <iostream>

using namespace std;
using glm::vec3;

int main () {
    vec3 i_am_zero;

    cout << i_am_zero << endl;
    return 0;
}

My command line:

g++ -std=c++11 test.cpp -o test.exe

The compiler output:

In file included from glm/gtx/../detail/func_trigonometric.hpp:205:0,
                 from glm/gtx/../trigonometric.hpp:35,
                 from glm/gtx/../glm.hpp:110,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/func_trigonometric.inl:166:14: error: 'std::asinh' has not been declared
   using std::asinh;
              ^
In file included from glm/gtx/../detail/func_trigonometric.hpp:205:0,
                 from glm/gtx/../trigonometric.hpp:35,
                 from glm/gtx/../glm.hpp:110,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/func_trigonometric.inl:185:14: error: 'std::acosh' has not been declared
   using std::acosh;
              ^
glm/gtx/../detail/func_trigonometric.inl:206:14: error: 'std::atanh' has not been declared
   using std::atanh;
              ^
In file included from glm/gtx/../detail/func_exponential.hpp:132:0,
                 from glm/gtx/../exponential.hpp:35,
                 from glm/gtx/../glm.hpp:111,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/func_exponential.inl:43:14: error: 'std::log2' has not been declared
   using std::log2;
              ^
In file included from glm/gtx/../detail/func_common.hpp:455:0,
                 from glm/gtx/../common.hpp:35,
                 from glm/gtx/../glm.hpp:112,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/func_common.inl:229:16: error: 'std::trunc' has not been declared
   using ::std::trunc;
                ^
glm/gtx/../detail/func_common.inl:248:16: error: 'std::round' has not been declared
   using ::std::round;
                ^
glm/gtx/../detail/func_common.inl: In instantiation of 'vecType<T, P> glm::round(const vecType<T, P>&) [with T = float; glm::precision P = (glm::precision)0u; vecType = glm::tvec2]':
glm/gtx/../detail/func_packing.inl:47:55:   required from here
glm/gtx/../detail/func_common.inl:262:59: error: no matching function for call to 'glm::detail::functor1<float, float, (glm::precision)0u, glm::tvec2>::call(<unresolved overloaded function type>, const glm::tvec2<float, (glm::precision)0u>&)'
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
glm/gtx/../detail/func_common.inl:262:59: note: candidate is:
In file included from glm/gtx/../detail/func_trigonometric.inl:33:0,
                 from glm/gtx/../detail/func_trigonometric.hpp:205,
                 from glm/gtx/../trigonometric.hpp:35,
                 from glm/gtx/../glm.hpp:110,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/_vectorize.hpp:58:41: note: static glm::tvec2<R, P> glm::detail::functor1<R, T, P, glm::tvec2>::call(R (*)(T), const glm::tvec2<T, P>&) [with R = float; T = float; glm::precision P = (glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec2<R, P> call(R (*Func) (T x), tvec2<T, P> const & v)
                                         ^
glm/gtx/../detail/_vectorize.hpp:58:41: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'float (*)(float)'
In file included from glm/gtx/../detail/func_common.hpp:455:0,
                 from glm/gtx/../common.hpp:35,
                 from glm/gtx/../glm.hpp:112,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/func_common.inl: In instantiation of 'vecType<T, P> glm::round(const vecType<T, P>&) [with T = float; glm::precision P = (glm::precision)0u; vecType = glm::tvec4]':
glm/gtx/../detail/func_packing.inl:105:52:   required from here
glm/gtx/../detail/func_common.inl:262:59: error: no matching function for call to 'glm::detail::functor1<float, float, (glm::precision)0u, glm::tvec4>::call(<unresolved overloaded function type>, const glm::tvec4<float, (glm::precision)0u>&)'
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
glm/gtx/../detail/func_common.inl:262:59: note: candidate is:
In file included from glm/gtx/../detail/func_trigonometric.inl:33:0,
                 from glm/gtx/../detail/func_trigonometric.hpp:205,
                 from glm/gtx/../trigonometric.hpp:35,
                 from glm/gtx/../glm.hpp:110,
                 from glm/gtx/io.hpp:50,
                 from glmtest.cpp:2:
glm/gtx/../detail/_vectorize.hpp:76:41: note: static glm::tvec4<R, P> glm::detail::functor1<R, T, P, glm::tvec4>::call(R (*)(T), const glm::tvec4<T, P>&) [with R = float; T = float; glm::precision P = (glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec4<R, P> call(R (*Func) (T x), tvec4<T, P> const & v)
                                         ^
glm/gtx/../detail/_vectorize.hpp:76:41: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'float (*)(float)'
@Groovounet
Copy link
Member

It looks like that your platform doesn't have support for the C++11 STL. What platform are you compiler for?
This problem happens on Android but GLM has a workaround for this. (Not using C++11 STL).

@Groovounet
Copy link
Member

Could you add:
#define GLM_MESSAGES before including GLM, compile and copy pass the compiler output?

Thanks,
Christophe

@Groovounet
Copy link
Member

No news from the bug reporter so closing.

I'll be happy to reopen the bug when giving additional inputs.

Thanks,
Christophe

@arturalkaim
Copy link

I think I have the same/similar problem and here is the output with
#define GLM_MESSAGES
Any idea why?

I'm using cygwi and windows 10.

In file included from /usr/x86_64-pc-cygwin/include/glm/detail/type_int.hpp:35:0,
                 from /usr/x86_64-pc-cygwin/include/glm/fwd.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:90,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:49:41: note: #pragma message: GLM: version 0.9.7.1
 # pragma message ("GLM: version 0.9.7.1")
                                         ^
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:108:48: note: #pragma message: GLM: UNIX platform detected
 #  pragma message("GLM: UNIX platform detected")
                                                ^
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:339:47: note: #pragma message: GLM: GCC compiler detected
 #  pragma message("GLM: GCC compiler detected")
                                               ^
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:363:39: note: #pragma message: GLM: 64 bits model
 #  pragma message("GLM: 64 bits model")
                                       ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/type_int.hpp:35:0,
                 from /usr/x86_64-pc-cygwin/include/glm/fwd.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:90,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:480:46: note: #pragma message: GLM: SSE2 instruction set
 #  pragma message("GLM: SSE2 instruction set")
                                              ^
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:630:31: note: #pragma message: GLM: C++11
 #  pragma message("GLM: C++11")
                               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/type_int.hpp:35:0,
                 from /usr/x86_64-pc-cygwin/include/glm/fwd.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:90,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:896:103: note: #pragma message: GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators
 #  pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
                                                                                                       ^
/usr/x86_64-pc-cygwin/include/glm/detail/setup.hpp:993:108: note: #pragma message: GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification
 #  pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
                                                                                                            ^
In file included from shading.cpp:7:0:
/usr/x86_64-pc-cygwin/include/glm/glm.hpp:94:46: note: #pragma message: GLM: Core library included
 # pragma message("GLM: Core library included")
                                              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.hpp:205:0,
                 from /usr/x86_64-pc-cygwin/include/glm/trigonometric.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:110,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.inl:166:14: error: ‘std::asinh’ has not been declared
   using std::asinh;
              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.hpp:205:0,
                 from /usr/x86_64-pc-cygwin/include/glm/trigonometric.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:110,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.inl:185:14: error: ‘std::acosh’ has not been declared
   using std::acosh;
              ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.inl:206:14: error: ‘std::atanh’ has not been declared
   using std::atanh;
              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_exponential.hpp:132:0,
                 from /usr/x86_64-pc-cygwin/include/glm/exponential.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:111,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_exponential.inl:43:14: error: ‘std::log2’ has not been declared
   using std::log2;
              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:229:16: error: ‘std::trunc’ has not been declared
   using ::std::trunc;
                ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:248:16: error: ‘std::round’ has not been declared
   using ::std::round;
                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/matrix_transform.hpp:57:0,
                 from /usr/x86_64-pc-cygwin/include/glm/gtx/transform.hpp:49,
                 from shading.cpp:8:
/usr/x86_64-pc-cygwin/include/glm/gtc/constants.hpp:49:61: note: #pragma message: GLM: GLM_GTC_constants extension included
 # pragma message("GLM: GLM_GTC_constants extension included")
                                                             ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtx/transform.hpp:49:0,
                 from shading.cpp:8:
/usr/x86_64-pc-cygwin/include/glm/gtc/matrix_transform.hpp:60:68: note: #pragma message: GLM: GLM_GTC_matrix_transform extension included
 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
                                                                    ^
In file included from shading.cpp:8:0:
/usr/x86_64-pc-cygwin/include/glm/gtx/transform.hpp:52:61: note: #pragma message: GLM: GLM_GTX_transform extension included
 # pragma message("GLM: GLM_GTX_transform extension included")
                                                             ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/type_ptr.hpp:66:0,
                 from shading.cpp:9:
/usr/x86_64-pc-cygwin/include/glm/gtc/quaternion.hpp:54:62: note: #pragma message: GLM: GLM_GTC_quaternion extension included
 # pragma message("GLM: GLM_GTC_quaternion extension included")
                                                              ^
In file included from shading.cpp:9:0:
/usr/x86_64-pc-cygwin/include/glm/gtc/type_ptr.hpp:82:60: note: #pragma message: GLM: GLM_GTC_type_ptr extension included
 # pragma message("GLM: GLM_GTC_type_ptr extension included")
                                                            ^
In file included from shading.cpp:10:0:
/usr/x86_64-pc-cygwin/include/glm/gtc/random.hpp:51:58: note: #pragma message: GLM: GLM_GTC_random extension included
 # pragma message("GLM: GLM_GTC_random extension included")
                                                          ^
In file included from shading.cpp:11:0:
/usr/x86_64-pc-cygwin/include/glm/gtc/noise.hpp:59:57: note: #pragma message: GLM: GLM_GTC_noise extension included
 # pragma message("GLM: GLM_GTC_noise extension included")
                                                         ^
In file included from shading.cpp:12:0:
/usr/x86_64-pc-cygwin/include/glm/ext.hpp:61:66: note: #pragma message: GLM: All extensions included (not recommanded)
 # pragma message("GLM: All extensions included (not recommanded)")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:64:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/bitfield.hpp:53:60: note: #pragma message: GLM: GLM_GTC_bitfield extension included
 # pragma message("GLM: GLM_GTC_bitfield extension included")
                                                            ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:66:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/epsilon.hpp:51:59: note: #pragma message: GLM: GLM_GTC_epsilon extension included
 # pragma message("GLM: GLM_GTC_epsilon extension included")
                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:67:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/integer.hpp:54:59: note: #pragma message: GLM: GLM_GTC_integer extension included
 # pragma message("GLM: GLM_GTC_integer extension included")
                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:68:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/matrix_access.hpp:47:65: note: #pragma message: GLM: GLM_GTC_matrix_access extension included
 # pragma message("GLM: GLM_GTC_matrix_access extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:69:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/matrix_integer.hpp:55:66: note: #pragma message: GLM: GLM_GTC_matrix_integer extension included
 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:70:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/matrix_inverse.hpp:51:66: note: #pragma message: GLM: GLM_GTC_matrix_inverse extension included
 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/type_precision.hpp:51:0,
                 from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:46,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/vec1.hpp:48:56: note: #pragma message: GLM: GLM_GTC_vec1 extension included
 # pragma message("GLM: GLM_GTC_vec1 extension included")
                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:46:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/type_precision.hpp:66:66: note: #pragma message: GLM: GLM_GTC_type_precision extension included
 # pragma message("GLM: GLM_GTC_type_precision extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:49:59: note: #pragma message: GLM: GLM_GTC_packing extension included
 # pragma message("GLM: GLM_GTC_packing extension included")
                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint8 glm::packUnorm1x8(float)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:255:64: error: no matching function for call to ‘round(float)’
   return static_cast<uint8>(round(clamp(v, 0.0f, 1.0f) * 255.0f));
                                                                ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:255:64: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:255:64: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   return static_cast<uint8>(round(clamp(v, 0.0f, 1.0f) * 255.0f));
                                                                ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint8 glm::packSnorm1x8(float)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:278:75: error: no matching function for call to ‘round(float)’
   int8 const Topack(static_cast<int8>(round(clamp(v ,-1.0f, 1.0f) * 127.0f)));
                                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:278:75: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:278:75: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   int8 const Topack(static_cast<int8>(round(clamp(v ,-1.0f, 1.0f) * 127.0f)));
                                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint16 glm::packUnorm1x16(float)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:306:67: error: no matching function for call to ‘round(float)’
   return static_cast<uint16>(round(clamp(s, 0.0f, 1.0f) * 65535.0f));
                                                                   ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:306:67: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:306:67: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   return static_cast<uint16>(round(clamp(s, 0.0f, 1.0f) * 65535.0f));
                                                                   ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint16 glm::packSnorm1x16(float)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:329:81: error: no matching function for call to ‘round(float)’
   int16 const Topack = static_cast<int16>(round(clamp(v ,-1.0f, 1.0f) * 32767.0f));
                                                                                 ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:329:81: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:329:81: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   int16 const Topack = static_cast<int16>(round(clamp(v ,-1.0f, 1.0f) * 32767.0f));
                                                                                 ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint32 glm::packSnorm3x10_1x2(const vec4&)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:433:59: error: no matching function for call to ‘round(float)’
   Result.data.x = int(round(clamp(v.x,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:433:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:433:59: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.x = int(round(clamp(v.x,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:434:59: error: no matching function for call to ‘round(float)’
   Result.data.y = int(round(clamp(v.y,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:434:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:434:59: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.y = int(round(clamp(v.y,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:435:59: error: no matching function for call to ‘round(float)’
   Result.data.z = int(round(clamp(v.z,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:435:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:435:59: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.z = int(round(clamp(v.z,-1.0f, 1.0f) * 511.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:436:59: error: no matching function for call to ‘round(float)’
   Result.data.w = int(round(clamp(v.w,-1.0f, 1.0f) *   1.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:436:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:436:59: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.w = int(round(clamp(v.w,-1.0f, 1.0f) *   1.f));
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl: In function ‘glm::uint32 glm::packUnorm3x10_1x2(const vec4&)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:455:60: error: no matching function for call to ‘round(float)’
   Result.data.x = int(round(clamp(v.x, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:455:60: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:455:60: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.x = int(round(clamp(v.x, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:456:60: error: no matching function for call to ‘round(float)’
   Result.data.y = int(round(clamp(v.y, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:456:60: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:456:60: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.y = int(round(clamp(v.y, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:457:60: error: no matching function for call to ‘round(float)’
   Result.data.z = int(round(clamp(v.z, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:457:60: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:457:60: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.z = int(round(clamp(v.z, 0.0f, 1.0f) * 1023.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:458:60: error: no matching function for call to ‘round(float)’
   Result.data.w = int(round(clamp(v.w, 0.0f, 1.0f) *    3.f));
                                                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:458:60: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note: template<class T, glm::precision P, template<class, glm::precision <anonymous> > class vecType> vecType<T, P> glm::round(const vecType<T, P>&)
  GLM_FUNC_QUALIFIER vecType<T, P> round(vecType<T, P> const & x)
                                   ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:260:35: note:   template argument deduction/substitution failed:
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/packing.hpp:478:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:73,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/packing.inl:458:60: note:   can't deduce a template for ‘const vecType<T, P>’ from non-template type ‘float’
   Result.data.w = int(round(clamp(v.w, 0.0f, 1.0f) *    3.f));
                                                            ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:76:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/reciprocal.hpp: At global scope:
/usr/x86_64-pc-cygwin/include/glm/gtc/reciprocal.hpp:48:62: note: #pragma message: GLM: GLM_GTC_reciprocal extension included
 # pragma message("GLM: GLM_GTC_reciprocal extension included")
                                                              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:77:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/round.hpp:54:59: note: #pragma message: GLM: GLM_GTC_integer extension included
 # pragma message("GLM: GLM_GTC_integer extension included")
                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:51:55: note: #pragma message: GLM: GLM_GTC_ulp extension included
 # pragma message("GLM: GLM_GTC_ulp extension included")
                                                       ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:92:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl: In function ‘genType glm::next_float(const genType&) [with genType = float]’:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:207:11: error: ‘nextafter’ is not a member of ‘std’
    return std::nextafter(x, std::numeric_limits<float>::max());
           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:207:11: note: suggested alternatives:
In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/cmath:44:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/_fixes.hpp:33,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:81,
                 from shading.cpp:7:
/usr/include/math.h:272:15: note:   ‘nextafter’
 extern double nextafter _PARAMS((double, double));
               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:92:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:145:28: note:   ‘glm::detail::nextafter’
  GLM_FUNC_QUALIFIER double nextafter(double x, double y)
                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl: In function ‘genType glm::next_float(const genType&) [with genType = double]’:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:221:11: error: ‘nextafter’ is not a member of ‘std’
    return std::nextafter(x, std::numeric_limits<double>::max());
           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:221:11: note: suggested alternatives:
In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/cmath:44:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/_fixes.hpp:33,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:81,
                 from shading.cpp:7:
/usr/include/math.h:272:15: note:   ‘nextafter’
 extern double nextafter _PARAMS((double, double));
               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:92:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:145:28: note:   ‘glm::detail::nextafter’
  GLM_FUNC_QUALIFIER double nextafter(double x, double y)
                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl: In function ‘float glm::prev_float(const float&)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:243:11: error: ‘nextafter’ is not a member of ‘std’
    return std::nextafter(x, std::numeric_limits<float>::min());
           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:243:11: note: suggested alternatives:
In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/cmath:44:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/_fixes.hpp:33,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:81,
                 from shading.cpp:7:
/usr/include/math.h:272:15: note:   ‘nextafter’
 extern double nextafter _PARAMS((double, double));
               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:92:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:145:28: note:   ‘glm::detail::nextafter’
  GLM_FUNC_QUALIFIER double nextafter(double x, double y)
                            ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl: In function ‘double glm::prev_float(const double&)’:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:256:11: error: ‘nextafter’ is not a member of ‘std’
    return std::nextafter(x, std::numeric_limits<double>::min());
           ^
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:256:11: note: suggested alternatives:
In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/cmath:44:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/_fixes.hpp:33,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:81,
                 from shading.cpp:7:
/usr/include/math.h:272:15: note:   ‘nextafter’
 extern double nextafter _PARAMS((double, double));
               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtc/ulp.hpp:92:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:80,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtc/ulp.inl:145:28: note:   ‘glm::detail::nextafter’
  GLM_FUNC_QUALIFIER double nextafter(double x, double y)
                            ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:83:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/associated_min_max.hpp: At global scope:
/usr/x86_64-pc-cygwin/include/glm/gtx/associated_min_max.hpp:48:70: note: #pragma message: GLM: GLM_GTX_associated_min_max extension included
 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
                                                                      ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:84:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/bit.hpp:49:114: note: #pragma message: GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead
 # pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead")
                                                                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:85:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/closest_point.hpp:48:65: note: #pragma message: GLM: GLM_GTX_closest_point extension included
 # pragma message("GLM: GLM_GTX_closest_point extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:86:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/color_space.hpp:48:63: note: #pragma message: GLM: GLM_GTX_color_space extension included
 # pragma message("GLM: GLM_GTX_color_space extension included")
                                                               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:87:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/color_space_YCoCg.hpp:48:69: note: #pragma message: GLM: GLM_GTX_color_space_YCoCg extension included
 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
                                                                     ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:88:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/compatibility.hpp:50:65: note: #pragma message: GLM: GLM_GTX_compatibility extension included
 # pragma message("GLM: GLM_GTX_compatibility extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:89:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/component_wise.hpp:49:66: note: #pragma message: GLM: GLM_GTX_component_wise extension included
 # pragma message("GLM: GLM_GTX_component_wise extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:90:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/dual_quaternion.hpp:53:67: note: #pragma message: GLM: GLM_GTX_dual_quaternion extension included
 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
                                                                   ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:91:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/euler_angles.hpp:49:64: note: #pragma message: GLM: GLM_GTX_euler_angles extension included
 # pragma message("GLM: GLM_GTX_euler_angles extension included")
                                                                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:92:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/extend.hpp:48:58: note: #pragma message: GLM: GLM_GTX_extend extension included
 # pragma message("GLM: GLM_GTX_extend extension included")
                                                          ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:93:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/extented_min_max.hpp:49:68: note: #pragma message: GLM: GLM_GTX_extented_min_max extension included
 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
                                                                    ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:94:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/fast_exponential.hpp:49:68: note: #pragma message: GLM: GLM_GTX_fast_exponential extension included
 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
                                                                    ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:95:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/fast_square_root.hpp:52:68: note: #pragma message: GLM: GLM_GTX_fast_square_root extension included
 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
                                                                    ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:96:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/fast_trigonometry.hpp:48:69: note: #pragma message: GLM: GLM_GTX_fast_trigonometry extension included
 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
                                                                     ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtx/gradient_paint.hpp:46:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:97,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/optimum_pow.hpp:48:63: note: #pragma message: GLM: GLM_GTX_optimum_pow extension included
 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
                                                               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:97:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/gradient_paint.hpp:49:66: note: #pragma message: GLM: GLM_GTX_gradient_paint extension included
 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:98:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/handed_coordinate_space.hpp:48:75: note: #pragma message: GLM: GLM_GTX_handed_coordinate_space extension included
 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
                                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:99:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/integer.hpp:49:59: note: #pragma message: GLM: GLM_GTX_integer extension included
 # pragma message("GLM: GLM_GTX_integer extension included")
                                                           ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:100:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/intersect.hpp:50:65: note: #pragma message: GLM: GLM_GTX_closest_point extension included
 # pragma message("GLM: GLM_GTX_closest_point extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:101:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/log_base.hpp:48:60: note: #pragma message: GLM: GLM_GTX_log_base extension included
 # pragma message("GLM: GLM_GTX_log_base extension included")
                                                            ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:102:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/matrix_cross_product.hpp:49:72: note: #pragma message: GLM: GLM_GTX_matrix_cross_product extension included
 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
                                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:103:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/matrix_interpolation.hpp:48:72: note: #pragma message: GLM: GLM_GTX_matrix_interpolation extension included
 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
                                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:104:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/matrix_major_storage.hpp:49:72: note: #pragma message: GLM: GLM_GTX_matrix_major_storage extension included
 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
                                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:105:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/matrix_operation.hpp:48:68: note: #pragma message: GLM: GLM_GTX_matrix_operation extension included
 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
                                                                    ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtx/matrix_query.hpp:47:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:106,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/vector_query.hpp:50:64: note: #pragma message: GLM: GLM_GTX_vector_query extension included
 # pragma message("GLM: GLM_GTX_vector_query extension included")
                                                                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:106:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/matrix_query.hpp:51:64: note: #pragma message: GLM: GLM_GTX_matrix_query extension included
 # pragma message("GLM: GLM_GTX_matrix_query extension included")
                                                                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:107:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/mixed_product.hpp:48:65: note: #pragma message: GLM: GLM_GTX_mixed_product extension included
 # pragma message("GLM: GLM_GTX_mixed_product extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtx/norm.hpp:47:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:108,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/quaternion.hpp:52:62: note: #pragma message: GLM: GLM_GTX_quaternion extension included
 # pragma message("GLM: GLM_GTX_quaternion extension included")
                                                              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:108:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/norm.hpp:50:56: note: #pragma message: GLM: GLM_GTX_norm extension included
 # pragma message("GLM: GLM_GTX_norm extension included")
                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:109:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/normal.hpp:49:58: note: #pragma message: GLM: GLM_GTX_normal extension included
 # pragma message("GLM: GLM_GTX_normal extension included")
                                                          ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:110:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/normalize_dot.hpp:49:65: note: #pragma message: GLM: GLM_GTX_normalize_dot extension included
 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:111:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/number_precision.hpp:51:68: note: #pragma message: GLM: GLM_GTX_number_precision extension included
 # pragma message("GLM: GLM_GTX_number_precision extension included")
                                                                    ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:113:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/orthonormalize.hpp:51:66: note: #pragma message: GLM: GLM_GTX_orthonormalize extension included
 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/gtx/perpendicular.hpp:47:0,
                 from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:114,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/projection.hpp:48:62: note: #pragma message: GLM: GLM_GTX_projection extension included
 # pragma message("GLM: GLM_GTX_projection extension included")
                                                              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:114:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/perpendicular.hpp:50:65: note: #pragma message: GLM: GLM_GTX_perpendicular extension included
 # pragma message("GLM: GLM_GTX_perpendicular extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:115:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/polar_coordinates.hpp:48:69: note: #pragma message: GLM: GLM_GTX_polar_coordinates extension included
 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
                                                                     ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:118:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/raw_data.hpp:49:60: note: #pragma message: GLM: GLM_GTX_raw_data extension included
 # pragma message("GLM: GLM_GTX_raw_data extension included")
                                                            ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:119:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/rotate_vector.hpp:50:65: note: #pragma message: GLM: GLM_GTX_rotate_vector extension included
 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
                                                                 ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:120:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/spline.hpp:49:58: note: #pragma message: GLM: GLM_GTX_spline extension included
 # pragma message("GLM: GLM_GTX_spline extension included")
                                                          ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:121:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/std_based_type.hpp:49:66: note: #pragma message: GLM: GLM_GTX_std_based_type extension included
 # pragma message("GLM: GLM_GTX_std_based_type extension included")
                                                                  ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:123:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/string_cast.hpp:60:63: note: #pragma message: GLM: GLM_GTX_string_cast extension included
 # pragma message("GLM: GLM_GTX_string_cast extension included")
                                                               ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:126:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/transform2.hpp:50:62: note: #pragma message: GLM: GLM_GTX_transform2 extension included
 # pragma message("GLM: GLM_GTX_transform2 extension included")
                                                              ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:127:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/type_aligned.hpp:51:64: note: #pragma message: GLM: GLM_GTX_type_aligned extension included
 # pragma message("GLM: GLM_GTX_type_aligned extension included")
                                                                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:128:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/vector_angle.hpp:53:64: note: #pragma message: GLM: GLM_GTX_vector_angle extension included
 # pragma message("GLM: GLM_GTX_vector_angle extension included")
                                                                ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:130:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/wrap.hpp:48:56: note: #pragma message: GLM: GLM_GTX_wrap extension included
 # pragma message("GLM: GLM_GTX_wrap extension included")
                                                        ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:141:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/simd_vec4.hpp:58:61: note: #pragma message: GLM: GLM_GTX_simd_vec4 extension included
 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
                                                             ^
In file included from /usr/x86_64-pc-cygwin/include/glm/ext.hpp:142:0,
                 from shading.cpp:12:
/usr/x86_64-pc-cygwin/include/glm/gtx/simd_mat4.hpp:57:61: note: #pragma message: GLM: GLM_GTX_simd_mat4 extension included
 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
                                                             ^
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl: In instantiation of ‘vecType<T, P> glm::round(const vecType<T, P>&) [with T = float; glm::precision P = (glm::precision)0u; vecType = glm::tvec2]’:
/usr/x86_64-pc-cygwin/include/glm/detail/func_packing.inl:47:55:   required from here
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:262:59: error: no matching function for call to ‘glm::detail::functor1<float, float, (glm::precision)0u, glm::tvec2>::call(<unresolved overloaded function type>, const glm::tvec2<float, (glm::precision)0u>&)’
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:262:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.inl:33:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.hpp:205,
                 from /usr/x86_64-pc-cygwin/include/glm/trigonometric.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:110,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/_vectorize.hpp:58:41: note: static glm::tvec2<R, P> glm::detail::functor1<R, T, P, glm::tvec2>::call(R (*)(T), const glm::tvec2<T, P>&) [with R = float; T = float; glm::precision P = (glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec2<R, P> call(R (*Func) (T x), tvec2<T, P> const & v)
                                         ^
/usr/x86_64-pc-cygwin/include/glm/detail/_vectorize.hpp:58:41: note:   no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘float (*)(float)’
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_common.hpp:455:0,
                 from /usr/x86_64-pc-cygwin/include/glm/common.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:112,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl: In instantiation of ‘vecType<T, P> glm::round(const vecType<T, P>&) [with T = float; glm::precision P = (glm::precision)0u; vecType = glm::tvec4]’:
/usr/x86_64-pc-cygwin/include/glm/detail/func_packing.inl:105:52:   required from here
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:262:59: error: no matching function for call to ‘glm::detail::functor1<float, float, (glm::precision)0u, glm::tvec4>::call(<unresolved overloaded function type>, const glm::tvec4<float, (glm::precision)0u>&)’
   return detail::functor1<T, T, P, vecType>::call(round, x);
                                                           ^
/usr/x86_64-pc-cygwin/include/glm/detail/func_common.inl:262:59: note: candidate is:
In file included from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.inl:33:0,
                 from /usr/x86_64-pc-cygwin/include/glm/detail/func_trigonometric.hpp:205,
                 from /usr/x86_64-pc-cygwin/include/glm/trigonometric.hpp:35,
                 from /usr/x86_64-pc-cygwin/include/glm/glm.hpp:110,
                 from shading.cpp:7:
/usr/x86_64-pc-cygwin/include/glm/detail/_vectorize.hpp:76:41: note: static glm::tvec4<R, P> glm::detail::functor1<R, T, P, glm::tvec4>::call(R (*)(T), const glm::tvec4<T, P>&) [with R = float; T = float; glm::precision P = (glm::precision)0u]
   GLM_FUNC_QUALIFIER static tvec4<R, P> call(R (*Func) (T x), tvec4<T, P> const & v)
                                         ^
/usr/x86_64-pc-cygwin/include/glm/detail/_vectorize.hpp:76:41: note:   no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘float (*)(float)’
Makefile:20: recipe for target 'libs' failed
make: *** [libs] Error 1

I have my system running well with Mac OS X - glm 0.9.6.3.
Now I'm trying to run it on windows and I face this problems.

@Groovounet
Copy link
Member

Ah, it sounds like cygwin version of GCC doesn't have a C++11 STL.

If you edit https://github.com/g-truc/glm/blob/master/glm/detail/setup.hpp#L653 to force GLM_HAS_CXX11_STL to be 0, does it fix your problem?

@arturalkaim
Copy link

I think it did.
Thank you!

@Groovounet
Copy link
Member

This issue has been fixed in both GLM 0.9.7 branch and master branch.

Thanks for contributing,
Christophe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants