ubuntu18.0编译安装colmap注意事项

在安装colmap过程中遇到编译错误,由于anaconda环境导致Qt5模块冲突。通过分析编译日志,确认问题源于anaconda的Qt5。为避免影响其他库,选择在colmap的CMakeLists.txt中指定Qt5路径,重新编译时退出conda环境,成功解决了编译问题。

本文主要解决安装中存在的一些问题,下载安装的过程可以参考这里【详细安装链接】。

在编译最后报错,导致无法编译完成:

[100%] Linking CXX static library libcolmap.a
[100%] Built target colmap
[100%] Building CXX object src/exe/CMakeFiles/colmap_exe.dir/colmap.cc.o
[100%] Linking CXX executable colmap
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFTileRowSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldTag@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFCurrentDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFLastDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用

原因:【参考博文
根据博文分析,其大概率是由于系统安装anaconda时设置系统环境变量,使得在编译时使用了anaconda的Qt5,可以根据编译之前的信息确认这一点。

在cmake时,其打印信息为:
在这里插入图片描述
可以看出,确实是使用了anaconda的Qt模块。

解决方法:
根据参考博文以及网上的其他方式,都是要修改环境变量或者直接卸载anaconda的相关组件。个人觉得这种做法可能会影响其他安装的库,故采用另一种友好的方式。

直接指定cmake时使用Qt5模块的路径。
*注:在重新编译时,最好删除build文件夹下的所有文件,相当于make clean。
1.在colmap的cmake文件中【colmap工程目录/CMakeLists.txt】,找到Qt5的部分,增加PATHS参数指定目录:
在这里插入图片描述
2.之后在cmake时,要退出conda环境:
在这里插入图片描述
这是可以在编译信息中看到,采用的是系统的Qt5:
在这里插入图片描述
之后便可以成功编译!!!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值