Since we can't generate dynamic library for algorithm without build SLAMBench, we have to generate liblsdslam-cpp-library.so after we build SLAMBench and get liblsdslam-cpp.a from algorithm volume. However, the liblsdslam-cpp-library.so generated by target_link_libraries(lsdslam-cpp-library PRIVATE ${SLAMBENCH_C_WRAPPER} ${LSDSLAM_CPP_A}) are not able to find the symbol of g2o.
This is because the libraries, ${common_libraries}, that are linked to liblsdslam-cpp.a doesn't link to liblsdslam-cpp-library.so
Possible solution (might not be the best one):
define ${common_libraries} for each algorithms, and use target_link_libraries(lsdslam-cpp-library PRIVATE ${SLAMBENCH_C_WRAPPER} ${LSDSLAM_CPP_A} ${common_libraries)
Since we can't generate dynamic library for algorithm without build SLAMBench, we have to generate
liblsdslam-cpp-library.so
after we build SLAMBench and getliblsdslam-cpp.a
from algorithm volume. However, theliblsdslam-cpp-library.so
generated bytarget_link_libraries(lsdslam-cpp-library PRIVATE ${SLAMBENCH_C_WRAPPER} ${LSDSLAM_CPP_A})
are not able to find the symbol of g2o.This is because the libraries, ${common_libraries}, that are linked to
liblsdslam-cpp.a
doesn't link toliblsdslam-cpp-library.so
Possible solution (might not be the best one): define ${common_libraries} for each algorithms, and use
target_link_libraries(lsdslam-cpp-library PRIVATE ${SLAMBENCH_C_WRAPPER} ${LSDSLAM_CPP_A} ${common_libraries)