具体的参照github,这里记录一下遇到的问题
SuiteSparse
要指定在下载包里的lapack for windows的路径
之后cmake 编译的时候找不到suitesparse-lapack,blase也是重新指定这里的东西
cholmod.h找不到,include路径要到suitesparse这一级
CUDA
由于用了cuda,要注意cuda版本支不支持VS。
如10.0不支持2019,10.1支持2019
支不支持可以查看C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include\crt\host_config.h文件
Pangolin
这一项不能打勾,要不然之后会有mtd mdd不匹配的问题
GUI
缺少openblas(不明白 gui 为啥需要这个),下载之后编译openblase没有遇到什么问题,但编译的好慢,还是推荐用编译好的
cmake指定路径要指定openblas/share/cmake
error C2039: “glDrawFrustum”: 不是“pangolin”的成员
参考 将glDrawFrustum改为glDrawFrustrum
GPUTest
似乎没打算给windows用户用,改的比较多
- 预处理器添加宏WIN32 NOMINMAX WIN32_LEAN_AND_MEAN
- efusion项目有几个地方没有导出,要修改
- class EFUSION_API RGBDOdometry
- EFUSION_API virtual ~GPUTexture();
实际测试 需要1个参数 测试图片所在目录
- note:pangolin编译时没有找到debug版本的libpng,这时debug会运行出错,需正确链接对应png库
- 显示 Your GPU "GeForce GTX 1080 Ti" isn't in the ICP Step performance database, please add it(理论上这个程序是帮我测试GPU参数的,不知道为什么会显示这个,但主程序可以跑了就没有深入研究)
在GPUConfig.h中加入这四行 参考
icpStepMap["GeForce GTX 1080 Ti"] = std::pair<int, int>(384, 48);
rgbStepMap["GeForce GTX 1080 Ti"] = std::pair<int, int>(96, 160);
rgbResMap["GeForce GTX 1080 Ti"] = std::pair<int, int>(512, 432);
so3StepMap["GeForce GTX 1080 Ti"] = std::pair<int, int>(256, 48);