You have a namespace using-directive in your .cpp file:
using namespace glm;
This means that everything that is in the glm
namespace becomes part of the "global" namespace; so you are polluting the global namespace.
So, there might be some form of conflict between the standard C sqrt()
function (which lives in the global namespace) and your glm::sqrt()
, which is "promoted" to a global sqrt
.
You may want to remove the aforementioned namespace using-directive (and just add the glm::
namespace prefix when you want to reference classes and functions in that namespace).