c++ - Unable to build orocos_kdl examples -
i need use orocos_kdl in cpp application. trying build existing orocos_kdl
examples not working.
i using g++ compile 1 of examples. please see below snippet of terminal-
test@test:~/orocos_kinematics_dynamics/orocos_kdl/examples$ g++ -i/home/test/orocos_kinematics_dynamics/orocos_kdl/models -i/usr/local/include/kdl -i/usr/include/eigen3 -l/usr/local/lib -lorocos-kdl chainiksolverpos_lma_demo.cpp -o chainiksolverpos_lma_demo /tmp/cccyvk0v.o: in function `test_inverseposkin(kdl::chain&)': chainiksolverpos_lma_demo.cpp:(.text+0x1da): undefined reference `kdl::chainfksolverpos_recursive::chainfksolverpos_recursive(kdl::chain const&)' chainiksolverpos_lma_demo.cpp:(.text+0x22e): undefined reference `kdl::chainiksolverpos_lma::chainiksolverpos_lma(kdl::chain const&, eigen::matrix<double, 6, 1, 0, 6, 1> const&, double, int, double)' chainiksolverpos_lma_demo.cpp:(.text+0x245): undefined reference `kdl::jntarray::jntarray(unsigned int)' chainiksolverpos_lma_demo.cpp:(.text+0x25c): undefined reference `kdl::jntarray::jntarray(unsigned int)' chainiksolverpos_lma_demo.cpp:(.text+0x273): undefined reference `kdl::jntarray::jntarray(unsigned int)' chainiksolverpos_lma_demo.cpp:(.text+0x334): undefined reference `kdl::chainfksolverpos_recursive::jnttocart(kdl::jntarray const&, kdl::frame&, int)' chainiksolverpos_lma_demo.cpp:(.text+0x358): undefined reference `kdl::chainiksolverpos_lma::carttojnt(kdl::jntarray const&, kdl::frame const&, kdl::jntarray&)' chainiksolverpos_lma_demo.cpp:(.text+0x3eb): undefined reference `kdl::operator<<(std::ostream&, kdl::frame const&)' chainiksolverpos_lma_demo.cpp:(.text+0x41d): undefined reference `kdl::operator<<(std::ostream&, kdl::frame const&)' chainiksolverpos_lma_demo.cpp:(.text+0x488): undefined reference `kdl::operator<<(std::ostream&, kdl::frame const&)' chainiksolverpos_lma_demo.cpp:(.text+0x789): undefined reference `kdl::chainiksolverpos_lma::display_jac(kdl::jntarray const&)' chainiksolverpos_lma_demo.cpp:(.text+0x7b1): undefined reference `kdl::chainiksolverpos_lma::display_jac(kdl::jntarray const&)' chainiksolverpos_lma_demo.cpp:(.text+0x8ec): undefined reference `kdl::chainfksolverpos_recursive::jnttocart(kdl::jntarray const&, kdl::frame&, int)' chainiksolverpos_lma_demo.cpp:(.text+0xd68): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xd77): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xd86): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xd95): undefined reference `kdl::chainiksolverpos_lma::~chainiksolverpos_lma()' chainiksolverpos_lma_demo.cpp:(.text+0xda4): undefined reference `kdl::chainfksolverpos_recursive::~chainfksolverpos_recursive()' chainiksolverpos_lma_demo.cpp:(.text+0xdb8): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xdcc): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xde0): undefined reference `kdl::jntarray::~jntarray()' chainiksolverpos_lma_demo.cpp:(.text+0xdf4): undefined reference `kdl::chainiksolverpos_lma::~chainiksolverpos_lma()' chainiksolverpos_lma_demo.cpp:(.text+0xe08): undefined reference `kdl::chainfksolverpos_recursive::~chainfksolverpos_recursive()' /tmp/cccyvk0v.o: in function `main': chainiksolverpos_lma_demo.cpp:(.text+0xef0): undefined reference `kdl::chain::chain()' chainiksolverpos_lma_demo.cpp:(.text+0xeff): undefined reference `kdl::puma560()' chainiksolverpos_lma_demo.cpp:(.text+0xf18): undefined reference `kdl::chain::operator=(kdl::chain const&)' chainiksolverpos_lma_demo.cpp:(.text+0xf27): undefined reference `kdl::chain::~chain()' chainiksolverpos_lma_demo.cpp:(.text+0xf74): undefined reference `kdl::chainiksolverpos_lma::chainiksolverpos_lma(kdl::chain const&, double, int, double)' chainiksolverpos_lma_demo.cpp:(.text+0xf97): undefined reference `kdl::chainiksolverpos_lma::~chainiksolverpos_lma()' chainiksolverpos_lma_demo.cpp:(.text+0xfa6): undefined reference `kdl::chain::~chain()' chainiksolverpos_lma_demo.cpp:(.text+0xfbc): undefined reference `kdl::chain::~chain()' chainiksolverpos_lma_demo.cpp:(.text+0xfd0): undefined reference `kdl::chainiksolverpos_lma::~chainiksolverpos_lma()' chainiksolverpos_lma_demo.cpp:(.text+0xfe4): undefined reference `kdl::chain::~chain()' /tmp/cccyvk0v.o: in function `kdl::operator*(kdl::frame const&, kdl::frame const&)': chainiksolverpos_lma_demo.cpp:(.text._zn3kdlmlerkns_5framees2_[_zn3kdlmlerkns_5framees2_]+0x86): undefined reference `kdl::operator*(kdl::rotation const&, kdl::rotation const&)' collect2: error: ld returned 1 exit status
i used make command install orocos_kdl
. make file generated using cmake. please see below-
test@test:~/orocos_kinematics_dynamics/orocos_kdl/build$ cmake .. -- c compiler identification gnu 4.8.4 -- cxx compiler identification gnu 4.8.4 -- check working c compiler: /usr/bin/cc -- check working c compiler: /usr/bin/cc -- works -- detecting c compiler abi info -- detecting c compiler abi info - done -- check working cxx compiler: /usr/bin/c++ -- check working cxx compiler: /usr/bin/c++ -- works -- detecting cxx compiler abi info -- detecting cxx compiler abi info - done orocos kdl version (1.4.0) setting build type 'release' -- found eigen3: /usr/include/eigen3 (required @ least version "2.91.0") -- performing test have_stl_container_incomplete_types -- performing test have_stl_container_incomplete_types - success -- configuring done -- generating done -- build files have been written to: /home/test/orocos_kinematics_dynamics/orocos_kdl/build test@test:~/orocos_kinematics_dynamics/orocos_kdl/build$ make scanning dependencies of target orocos-kdl [ 1%] building cxx object src/cmakefiles/orocos-kdl.dir/trajectory.cpp.o [ 3%] building cxx object src/cmakefiles/orocos-kdl.dir/treejnttojacsolver.cpp.o [ 5%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolvervel_pinv_nso.cpp.o [ 6%] building cxx object src/cmakefiles/orocos-kdl.dir/path.cpp.o [ 8%] building cxx object src/cmakefiles/orocos-kdl.dir/articulatedbodyinertia.cpp.o [ 10%] building cxx object src/cmakefiles/orocos-kdl.dir/chainfksolverpos_recursive.cpp.o [ 11%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolverpos_nr.cpp.o [ 13%] building cxx object src/cmakefiles/orocos-kdl.dir/chain.cpp.o [ 15%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolvervel_pinv.cpp.o [ 16%] building cxx object src/cmakefiles/orocos-kdl.dir/frames.cpp.o [ 18%] building cxx object src/cmakefiles/orocos-kdl.dir/frames_io.cpp.o [ 20%] building cxx object src/cmakefiles/orocos-kdl.dir/treeiksolvervel_wdls.cpp.o [ 21%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile_dirac.cpp.o [ 23%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolverpos_nr_jl.cpp.o [ 25%] building cxx object src/cmakefiles/orocos-kdl.dir/rotational_interpolation.cpp.o [ 26%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile_spline.cpp.o [ 28%] building cxx object src/cmakefiles/orocos-kdl.dir/jntarrayvel.cpp.o [ 30%] building cxx object src/cmakefiles/orocos-kdl.dir/path_circle.cpp.o [ 31%] building cxx object src/cmakefiles/orocos-kdl.dir/treeiksolverpos_online.cpp.o [ 33%] building cxx object src/cmakefiles/orocos-kdl.dir/rotational_interpolation_sa.cpp.o [ 35%] building cxx object src/cmakefiles/orocos-kdl.dir/treefksolverpos_recursive.cpp.o [ 36%] building cxx object src/cmakefiles/orocos-kdl.dir/chaindynparam.cpp.o [ 38%] building cxx object src/cmakefiles/orocos-kdl.dir/jntarray.cpp.o [ 40%] building cxx object src/cmakefiles/orocos-kdl.dir/frameacc.cpp.o [ 41%] building cxx object src/cmakefiles/orocos-kdl.dir/trajectory_stationary.cpp.o [ 43%] building cxx object src/cmakefiles/orocos-kdl.dir/path_point.cpp.o [ 45%] building cxx object src/cmakefiles/orocos-kdl.dir/trajectory_segment.cpp.o [ 46%] building cxx object src/cmakefiles/orocos-kdl.dir/rotationalinertia.cpp.o [ 48%] building cxx object src/cmakefiles/orocos-kdl.dir/trajectory_composite.cpp.o [ 50%] building cxx object src/cmakefiles/orocos-kdl.dir/chainjnttojacdotsolver.cpp.o [ 51%] building cxx object src/cmakefiles/orocos-kdl.dir/treeiksolverpos_nr_jl.cpp.o [ 53%] building cxx object src/cmakefiles/orocos-kdl.dir/segment.cpp.o [ 55%] building cxx object src/cmakefiles/orocos-kdl.dir/utilities/svd_eigen_hh.cpp.o [ 56%] building cxx object src/cmakefiles/orocos-kdl.dir/utilities/svd_hh.cpp.o [ 58%] building cxx object src/cmakefiles/orocos-kdl.dir/jacobian.cpp.o [ 60%] building cxx object src/cmakefiles/orocos-kdl.dir/tree.cpp.o [ 61%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolvervel_wdls.cpp.o [ 63%] building cxx object src/cmakefiles/orocos-kdl.dir/joint.cpp.o [ 65%] building cxx object src/cmakefiles/orocos-kdl.dir/kinfam_io.cpp.o [ 66%] building cxx object src/cmakefiles/orocos-kdl.dir/framevel.cpp.o [ 68%] building cxx object src/cmakefiles/orocos-kdl.dir/chainidsolver_vereshchagin.cpp.o [ 70%] building cxx object src/cmakefiles/orocos-kdl.dir/path_roundedcomposite.cpp.o [ 71%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile_trap.cpp.o [ 73%] building cxx object src/cmakefiles/orocos-kdl.dir/chainjnttojacsolver.cpp.o [ 75%] building cxx object src/cmakefiles/orocos-kdl.dir/path_line.cpp.o [ 76%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o [ 78%] building cxx object src/cmakefiles/orocos-kdl.dir/rigidbodyinertia.cpp.o [ 80%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile.cpp.o [ 81%] building cxx object src/cmakefiles/orocos-kdl.dir/jntarrayacc.cpp.o [ 83%] building cxx object src/cmakefiles/orocos-kdl.dir/chainidsolver_recursive_newton_euler.cpp.o [ 85%] building cxx object src/cmakefiles/orocos-kdl.dir/chainfksolvervel_recursive.cpp.o [ 86%] building cxx object src/cmakefiles/orocos-kdl.dir/chainiksolvervel_pinv_givens.cpp.o [ 88%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile_traphalf.cpp.o [ 90%] building cxx object src/cmakefiles/orocos-kdl.dir/velocityprofile_rect.cpp.o [ 91%] building cxx object src/cmakefiles/orocos-kdl.dir/path_composite.cpp.o [ 93%] building cxx object src/cmakefiles/orocos-kdl.dir/path_cyclic_closed.cpp.o [ 95%] building cxx object src/cmakefiles/orocos-kdl.dir/jntspaceinertiamatrix.cpp.o [ 96%] building cxx object src/cmakefiles/orocos-kdl.dir/utilities/utility_io.cxx.o [ 98%] building cxx object src/cmakefiles/orocos-kdl.dir/utilities/utility.cxx.o [100%] building cxx object src/cmakefiles/orocos-kdl.dir/utilities/error_stack.cxx.o linking cxx shared library liborocos-kdl.so [100%] built target orocos-kdl test@test:~/orocos_kinematics_dynamics/orocos_kdl/build$ make [100%] built target orocos-kdl test@test:~/orocos_kinematics_dynamics/orocos_kdl/build$ sudo make install [sudo] password test: [100%] built target orocos-kdl install project... -- install configuration: "release" -- installing: /usr/local/share/orocos_kdl/orocos_kdl-config.cmake -- installing: /usr/local/share/orocos_kdl/orocos_kdl-config-version.cmake -- installing: /usr/local/share/orocos_kdl/orocoskdltargets.cmake -- installing: /usr/local/share/orocos_kdl/orocoskdltargets-release.cmake -- up-to-date: /usr/local/share/orocos_kdl/package.xml -- installing: /usr/local/lib/liborocos-kdl.so.1.4.0 -- up-to-date: /usr/local/lib/liborocos-kdl.so.1.4 -- up-to-date: /usr/local/lib/liborocos-kdl.so -- up-to-date: /usr/local/include/kdl/rotational_interpolation_sa.hpp -- up-to-date: /usr/local/include/kdl/chainfksolverpos_recursive.hpp -- up-to-date: /usr/local/include/kdl/segment.hpp -- up-to-date: /usr/local/include/kdl/frameacc_io.hpp -- up-to-date: /usr/local/include/kdl/chainidsolver_recursive_newton_euler.hpp -- up-to-date: /usr/local/include/kdl/chainjnttojacdotsolver.hpp -- up-to-date: /usr/local/include/kdl/chainjnttojacsolver.hpp -- up-to-date: /usr/local/include/kdl/jntarray.hpp -- up-to-date: /usr/local/include/kdl/kdl.hpp -- up-to-date: /usr/local/include/kdl/framevel_io.hpp -- up-to-date: /usr/local/include/kdl/chainiksolverpos_lma.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile_trap.hpp -- up-to-date: /usr/local/include/kdl/motion.hpp -- up-to-date: /usr/local/include/kdl/path.hpp -- up-to-date: /usr/local/include/kdl/frames.hpp -- up-to-date: /usr/local/include/kdl/chainiksolvervel_pinv.hpp -- up-to-date: /usr/local/include/kdl/trajectory_stationary.hpp -- up-to-date: /usr/local/include/kdl/joint.hpp -- up-to-date: /usr/local/include/kdl/frames_io.hpp -- up-to-date: /usr/local/include/kdl/rigidbodyinertia.hpp -- up-to-date: /usr/local/include/kdl/tree.hpp -- up-to-date: /usr/local/include/kdl/rotationalinertia.hpp -- up-to-date: /usr/local/include/kdl/jntarrayvel.hpp -- up-to-date: /usr/local/include/kdl/solveri.hpp -- up-to-date: /usr/local/include/kdl/chainiksolvervel_pinv_givens.hpp -- up-to-date: /usr/local/include/kdl/path_cyclic_closed.hpp -- up-to-date: /usr/local/include/kdl/chainiksolverpos_nr.hpp -- up-to-date: /usr/local/include/kdl/chainidsolver_vereshchagin.hpp -- up-to-date: /usr/local/include/kdl/path_roundedcomposite.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile.hpp -- up-to-date: /usr/local/include/kdl/chainiksolvervel_wdls.hpp -- up-to-date: /usr/local/include/kdl/chainfksolvervel_recursive.hpp -- up-to-date: /usr/local/include/kdl/treeiksolver.hpp -- up-to-date: /usr/local/include/kdl/trajectory_composite.hpp -- up-to-date: /usr/local/include/kdl/framevel.hpp -- up-to-date: /usr/local/include/kdl/chainfksolver.hpp -- up-to-date: /usr/local/include/kdl/chainiksolverpos_nr_jl.hpp -- up-to-date: /usr/local/include/kdl/kinfam.hpp -- up-to-date: /usr/local/include/kdl/treefksolver.hpp -- up-to-date: /usr/local/include/kdl/jacobian.hpp -- up-to-date: /usr/local/include/kdl/chainiksolver.hpp -- up-to-date: /usr/local/include/kdl/kinfam_io.hpp -- up-to-date: /usr/local/include/kdl/trajectory.hpp -- up-to-date: /usr/local/include/kdl/chainiksolvervel_pinv_nso.hpp -- up-to-date: /usr/local/include/kdl/chaindynparam.hpp -- up-to-date: /usr/local/include/kdl/articulatedbodyinertia.hpp -- up-to-date: /usr/local/include/kdl/path_point.hpp -- up-to-date: /usr/local/include/kdl/treefksolverpos_recursive.hpp -- up-to-date: /usr/local/include/kdl/path_line.hpp -- up-to-date: /usr/local/include/kdl/trajectory_segment.hpp -- up-to-date: /usr/local/include/kdl/treeiksolvervel_wdls.hpp -- up-to-date: /usr/local/include/kdl/treejnttojacsolver.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile_dirac.hpp -- up-to-date: /usr/local/include/kdl/chainidsolver.hpp -- up-to-date: /usr/local/include/kdl/path_composite.hpp -- up-to-date: /usr/local/include/kdl/rotational_interpolation.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile_rect.hpp -- up-to-date: /usr/local/include/kdl/chain.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile_traphalf.hpp -- up-to-date: /usr/local/include/kdl/velocityprofile_spline.hpp -- up-to-date: /usr/local/include/kdl/jntarrayacc.hpp -- up-to-date: /usr/local/include/kdl/treeiksolverpos_nr_jl.hpp -- up-to-date: /usr/local/include/kdl/jntspaceinertiamatrix.hpp -- up-to-date: /usr/local/include/kdl/frameacc.hpp -- up-to-date: /usr/local/include/kdl/stiffness.hpp -- up-to-date: /usr/local/include/kdl/treeiksolverpos_online.hpp -- up-to-date: /usr/local/include/kdl/path_circle.hpp -- up-to-date: /usr/local/include/kdl/framevel.inl -- up-to-date: /usr/local/include/kdl/frameacc.inl -- up-to-date: /usr/local/include/kdl/frames.inl -- installing: /usr/local/include/kdl/config.h -- up-to-date: /usr/local/include/kdl/utilities/error.h -- up-to-date: /usr/local/include/kdl/utilities/utility.h -- up-to-date: /usr/local/include/kdl/utilities/kdl-config.h -- up-to-date: /usr/local/include/kdl/utilities/rall1d_io.h -- up-to-date: /usr/local/include/kdl/utilities/rallnd.h -- up-to-date: /usr/local/include/kdl/utilities/rall2d_io.h -- up-to-date: /usr/local/include/kdl/utilities/error_stack.h -- up-to-date: /usr/local/include/kdl/utilities/utility_io.h -- up-to-date: /usr/local/include/kdl/utilities/rall1d.h -- up-to-date: /usr/local/include/kdl/utilities/traits.h -- up-to-date: /usr/local/include/kdl/utilities/rall2d.h -- up-to-date: /usr/local/include/kdl/utilities/svd_hh.hpp -- up-to-date: /usr/local/include/kdl/utilities/svd_eigen_hh.hpp -- up-to-date: /usr/local/include/kdl/utilities/svd_eigen_macie.hpp -- installing: /usr/local/lib/pkgconfig/orocos-kdl.pc -- installing: /usr/local/lib/pkgconfig/orocos_kdl.pc test@test:~/orocos_kinematics_dynamics/orocos_kdl/build$
below other required details-
test@test:~/orocos_kinematics_dynamics/orocos_kdl/examples$ uname -a linux test 4.2.0-27-generic #32~14.04.1-ubuntu smp fri jan 22 15:32:26 utc 2016 x86_64 x86_64 x86_64 gnu/linux test@test:~/orocos_kinematics_dynamics/orocos_kdl/examples$ g++ --version g++ (ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 copyright (c) 2013 free software foundation, inc. free software; see source copying conditions. there no warranty; not merchantability or fitness particular purpose.
how compile , use orocos_kdl
properly?
Comments
Post a Comment