mv-lm-icp
mv-lm-icp copied to clipboard
Compile on Windows
I saw you have recently updated this, but I still have an issue in cmake with the gflw external:
---------------GLFW-------------------
Looking for pthread.h
Looking for pthread.h - not found
Found Threads: TRUE
Could NOT find Vulkan (missing: VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
Using Win32 for window creation
CMake Error at ext/glfw/CMakeLists.txt:403 (install):
install INSTALL(EXPORT) given keyword "EXPORT_LINK_INTERFACE_LIBRARIES",
but target "glfw" does not have policy CMP0022 set to NEW.
This may be an issue with which version gets downloaded into the /ext folder ?
Can you help ?
BTW - I used vcpkg to build ceres (very easy), and then just make sure you have the -DTOOLCHAIN flag set in cmake to point to vcpk when building the solution. This makes the Ceres issue on Windows a pice of cake!
Compiling always is in trouble! i can't help u ,sorry, Trying to again !
Well since I am using submodules, the version in ext/glfw should be exactly the same that I have.
The only thing I can think of is an incompatibility with that (old) glfw version with a newer cmake version, hence the warning with setting a new policy because some variable was deprecated.
What cmake version are you using?
Does this help:
http://www.glfw.org/docs/latest/compile_guide.html
Otherwise, instead of compiling glfw on windows using cmake, you could try to just use their precompiled .dlls downloadable here: http://www.glfw.org/download.html. They have dlls for multiple versions of the MSVC as well as the MinGW compiler, which one are you using?
Hi everybody, I've just compiled this project on Windows 10 (Visual Studio 2017). I've encountered several problems, mainly with external libraries compatibility:
- newest release of G2O didn't work - finally used this one: https://github.com/RainerKuemmerle/g2o/releases/tag/20170730_git
- new Sophus has slightly different syntax:
Sophus::SE3Group
has been renamed toSophus::SE3
, - it seems that Sophus doesn't provide
internalJacobian
method inEigen::Map<const Sophus::SE3d>
class, I've tried to replace this withDx_this_mul_exp_x_at_0,
but I have no idea if this is correct [file sophus_se3.h, function ComputeJacobian], - in file sophus_se3.h there was a problem with function
getParametrization
with this expression:return new ceres::AutoDiffLocalParameterization<SophusSE3Plus,Sophus::SE3::num_parameters, Sophus::SE3::DoF>;
changed it to:return new ceres::AutoDiffLocalParameterization<SophusSE3Plus,Sophus::SE3d::num_parameters, Sophus::SE3d::DoF>;
sincenum_parameters
andDoF
are hardcoded static constexpr, there should be no execution difference at all, - in file icp_ceres.cpp function
Sophus::SE3d isoToSophus(const Isometry3d& pose)
was erroneous. Changed this line:return Sophus::SE3d(pose);
toreturn Sophus::SE3d(pose.rotation(), pose.translation());
sinceSophus::SE3d
has no constructor that acceptsIsometry3d
object reference as input. No idea if this is correct semantically.
Hello, I don't quite understand how you solved the third question, I am very difficult to deal with this problem now