CERES_EXPORT fix to compile Ceres as DLL

Below fixes are required to compile Ceres as a dynamic library using
MSVC.
1. Added CERES_EXPORT to EigenQuaternionParameterization.
2. Removed CERES_EXPORT from CubicInterpolator and BicubicInterpolator.

EigenQuaternionParameterization has its source embedded in ceres.dll 
whereas Cubic+BicubicInterpolators are defined in the header file and 
therefore do not require __declspec(dllimport).

Change-Id: Idd1f387890c36aab51a1a4177ea7c06933b96f39
This commit is contained in:
Je Hyeong Hong
2017-02-02 04:36:41 +09:00
parent 9321b620ac
commit ccfd7f4dbb
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -121,7 +121,7 @@ void CubicHermiteSpline(const Eigen::Matrix<double, kDataDimension, 1>& p0,
// double f, dfdx;
// interpolator.Evaluator(1.5, &f, &dfdx);
template<typename Grid>
class CERES_EXPORT CubicInterpolator {
class CubicInterpolator {
public:
explicit CubicInterpolator(const Grid& grid)
: grid_(grid) {
@@ -253,7 +253,7 @@ struct Grid1D {
// interpolator.Evaluate(1.2, 2.5, &f, &dfdr, &dfdc);
template<typename Grid>
class CERES_EXPORT BiCubicInterpolator {
class BiCubicInterpolator {
public:
explicit BiCubicInterpolator(const Grid& grid)
: grid_(grid) {
+1 -1
View File
@@ -222,7 +222,7 @@ class CERES_EXPORT QuaternionParameterization : public LocalParameterization {
//
// Plus(x, delta) = [sin(|delta|) delta / |delta|, cos(|delta|)] * x
// with * being the quaternion multiplication operator.
class EigenQuaternionParameterization : public ceres::LocalParameterization {
class CERES_EXPORT EigenQuaternionParameterization : public ceres::LocalParameterization {
public:
virtual ~EigenQuaternionParameterization() {}
virtual bool Plus(const double* x,