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

How to build against libvcd https://github.com/edrosten/libcvd ? #12

Open
jiapei100 opened this issue Oct 6, 2016 · 0 comments

Comments

@jiapei100
Copy link

jiapei100 commented Oct 6, 2016

It looks like current PTAM-GPL is problematic with
/cvd/internal/scalar_convert.h
error: with 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const'

In file included from /usr/local/include/cvd/internal/convert_pixel_types.h:7:0,
from /usr/local/include/cvd/internal/pixel_operations.h:7,
from /usr/local/include/cvd/vision.h:11,
from ....../PTAM/src/CalibCornerPatch.cc:6:
/usr/local/include/cvd/internal/scalar_convert.h:96:24: error: 'constexpr const T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const' cannot be overloaded
constexpr const T& operator[](size_t i) const
^
/usr/local/include/cvd/internal/scalar_convert.h:91:18: error: with 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const'
constexpr T& operator[](size_t i)
^
/usr/local/include/cvd/internal/scalar_convert.h: In instantiation of 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const [with T = float; int N = 512; size_t = long unsigned int]':
/usr/local/include/cvd/internal/scalar_convert.h:107:11: required from 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = float]'
/usr/local/include/cvd/internal/scalar_convert.h:112:88: required from here
/usr/local/include/cvd/internal/scalar_convert.h:93:18: error: binding 'const float' to reference of type 'float&' discards qualifiers
return elems[i];
^
/usr/local/include/cvd/internal/scalar_convert.h:94:5: error: body of constexpr function 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const [with T = float; int N = 512; size_t = long unsigned int]' not a return-statement
}
^
/usr/local/include/cvd/internal/scalar_convert.h: In instantiation of 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = float]':
/usr/local/include/cvd/internal/scalar_convert.h:112:88: required from here
/usr/local/include/cvd/internal/scalar_convert.h:110:4: error: body of constexpr function 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = float]' not a return-statement
}
^
/usr/local/include/cvd/internal/scalar_convert.h:112:88: error: 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = float]' called in a constant expression
constexpr static trivial_array<float, 512> float_for_byte = buildLookupTable();
^
/usr/local/include/cvd/internal/scalar_convert.h:103:36: note: 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = float]' is not usable as a constexpr function because:
constexpr trivial_array<S, 512> buildLookupTable()
^
/usr/local/include/cvd/internal/scalar_convert.h: In instantiation of 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const [with T = double; int N = 512; size_t = long unsigned int]':
/usr/local/include/cvd/internal/scalar_convert.h:107:11: required from 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = double]'
/usr/local/include/cvd/internal/scalar_convert.h:113:91: required from here
/usr/local/include/cvd/internal/scalar_convert.h:93:18: error: binding 'const double' to reference of type 'double&' discards qualifiers
return elems[i];
^
/usr/local/include/cvd/internal/scalar_convert.h:94:5: error: body of constexpr function 'constexpr T& CVD::Pixel::Internal::Internal::trivial_array<T, N>::operator const [with T = double; int N = 512; size_t = long unsigned int]' not a return-statement
}
^
/usr/local/include/cvd/internal/scalar_convert.h: In instantiation of 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = double]':
/usr/local/include/cvd/internal/scalar_convert.h:113:91: required from here
/usr/local/include/cvd/internal/scalar_convert.h:110:4: error: body of constexpr function 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = double]' not a return-statement
}
^
/usr/local/include/cvd/internal/scalar_convert.h:113:91: error: 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = double]' called in a constant expression
constexpr static trivial_array<double, 512> double_for_byte = buildLookupTable();
^
/usr/local/include/cvd/internal/scalar_convert.h:103:36: note: 'constexpr CVD::Pixel::Internal::Internal::trivial_array<S, 512> CVD::Pixel::Internal::Internal::buildLookupTable() [with S = double]' is not usable as a constexpr function because:
constexpr trivial_array<S, 512> buildLookupTable()
^
In file included from /usr/local/include/cvd/vision.h:12:0,
from ....../PTAM/src/CalibCornerPatch.cc:6:
/usr/local/include/cvd/utility.h: In instantiation of 'void CVD::copy(const CVD::BasicImage&, CVD::BasicImage&, CVD::ImageRef, CVD::ImageRef, CVD::ImageRef) [with S = float; T = float]':
....../PTAM/src/CalibCornerPatch.cc:49:79: required from here
/usr/local/include/cvd/utility.h:40:17: error: 'convert_image' was not declared in this scope
convert_image(in, out);
^
PTAM/CMakeFiles/PTAM.dir/build.make:134: recipe for target 'PTAM/CMakeFiles/PTAM.dir/src/CalibCornerPatch.cc.o' failed
make[2]: *** [PTAM/CMakeFiles/PTAM.dir/src/CalibCornerPatch.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Any suggestions?

Cheers
Pei

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

1 participant