diff --git a/src/lib/mathlib/math/Matrix.hpp b/src/lib/mathlib/math/Matrix.hpp index 47929ffcb9..31b03b54b7 100644 --- a/src/lib/mathlib/math/Matrix.hpp +++ b/src/lib/mathlib/math/Matrix.hpp @@ -49,13 +49,13 @@ namespace math { template -class Matrix; +class __EXPORT Matrix; -class Quaternion; +class __EXPORT Quaternion; // MxN matrix with float elements template -class MatrixBase { +class __EXPORT MatrixBase { public: /** * matrix data[row][col] @@ -259,7 +259,7 @@ public: }; template -class Matrix : public MatrixBase { +class __EXPORT Matrix : public MatrixBase { public: using MatrixBase::operator *; @@ -292,7 +292,7 @@ public: namespace math { template <> -class Matrix<3, 3> : public MatrixBase<3, 3> { +class __EXPORT Matrix<3, 3> : public MatrixBase<3, 3> { public: using MatrixBase<3, 3>::operator *; diff --git a/src/lib/mathlib/math/Vector.hpp b/src/lib/mathlib/math/Vector.hpp index 8d754a3214..c865bab422 100644 --- a/src/lib/mathlib/math/Vector.hpp +++ b/src/lib/mathlib/math/Vector.hpp @@ -42,6 +42,7 @@ #ifndef VECTOR_HPP #define VECTOR_HPP +#include #include #include #include "../CMSIS/Include/arm_math.h" @@ -50,10 +51,10 @@ namespace math { template -class Vector; +class __EXPORT Vector; template -class VectorBase { +class __EXPORT VectorBase { public: /** * vector data @@ -267,7 +268,7 @@ public: }; template -class Vector : public VectorBase { +class __EXPORT Vector : public VectorBase { public: using VectorBase::operator *; @@ -294,7 +295,7 @@ public: }; template <> -class Vector<2> : public VectorBase<2> { +class __EXPORT Vector<2> : public VectorBase<2> { public: Vector() : VectorBase<2>() { } @@ -334,7 +335,7 @@ public: }; template <> -class Vector<3> : public VectorBase<3> { +class __EXPORT Vector<3> : public VectorBase<3> { public: Vector() { arm_col = {3, 1, &this->data[0]}; @@ -375,7 +376,7 @@ public: }; template <> -class Vector<4> : public VectorBase<4> { +class __EXPORT Vector<4> : public VectorBase<4> { public: Vector() : VectorBase() {}