SLAM
CODE:https://github.com/jiexiong2016/GCNv2_SLAM
转载自:https://zhuanlan.zhihu.com/p/147263526
问题描述: 在编译libtorch时,由于下载pytorch太慢,改下载安装文件,在编译过程中出现链接问题,如下
…/lib/libORB_SLAM2.so: undefined reference topangolin::Split(std::string const&, char)’ …/lib/libORB_SLAM2.so: undefined reference topangolin::BindToContext(std::string)’
…/lib/libORB_SLAM2.so: undefined reference toDBoW2::FORB::toString(cv::Mat const&)’ …/lib/libORB_SLAM2.so: undefined reference topangolin::CreateWindowAndBind(std::string, int, int, pangolin::Params const&)’
…/lib/libORB_SLAM2.so: undefined reference toDBoW2::FORB::fromString(cv::Mat&, std::string const&)’ …/lib/libORB_SLAM2.so: undefined reference topangolin::CreatePanel(std::string const&)’
解决办法:
1 到 https://github.com/pytorch/pytorch/issues/17492 下载 c++ abi v1.2.0 版本
2 修改build.sh
将cmake .. -DCMAKE_BUILD_TYPE=Release -DTORCH_PATH=/home/t/Workspace/deps/pytorch/torch/share/cmake/Torch
中的TORCH_PATH
修改为PATH/libtorch/share/cmake/Torch/TorchConfig.cmake
2 编译
GCNextractor.h 第99行:std::shared_ptr<torch::jit::script::Module> module;
改为:
torch::jit::script::Module module;
=====================================================================
GCNextractor.cc 第270行:
auto output = module->forward(inputs).toTuple();
改为:
auto output = module.forward(inputs).toTuple();