ubuntu20.04 bundlefusion

卡了很久,还是编译通过了

环境:ubuntu20.04 opencv4.5.0 opencv-contrib-4.5.0 cuda11.7 nvidia-driver-515

先装cuda,设置好环境变量export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64
export PATH=$PATH:/usr/local/cuda-11.7/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.7

然后装opencv(opencv 零零碎碎_庄王的博客-CSDN博客)

编译之前,把Cmakelists.txt里面的-arch=sm_86根据自己的显卡配置好算力

编译bundlefusion过程中会出现一些bug

1.安装了libglfw3-dev 但是仍然报这个错“/usr/bin/ld: cannot find -lglfw3“,

解决方法:找到libglfw.so.3 并复制到/usr/lib/下面,然后,sudo ln -sv libglfw.so.3 libglfw3.so

2,其余的类似的,只要sudo apt install libxxx-dev,自己根据情况把命令补全即可

3,还有是关于_shlf_down_和_shlf_xor_相关的问题,全部按照下面修改就行

#define FULL_MASK 0xffffffff

__forceinline__ __device__

float warpReduceSum(float val) {

unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize);

for (int offset = warpSize / 2; offset > 0; offset /= 2)

val += __shfl_down_sync(mask, val, offset);

return val;

}

__forceinline__ __device__

float warpReduceMaxAll(float val) {

unsigned mask = __ballot_sync(FULL_MASK, threadIdx.x < warpSize);

for (int offset = warpSize / 2; offset > 0; offset /= 2) {

val = max(val, __shfl_xor_sync(mask, val, offset));

}

return val;

}

苦bundlefusion久矣,过几天会把编译好的源代码贡献到github上,今天太累了,这个事情搞的我重装了两次电脑,然后惠普的主板还比较垃圾,各种不兼容。有需要的直接留下邮箱吧

你可能感兴趣的:(slam,ubuntu)