天天看点

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

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

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

[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:对‘[email protected]_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘[email protected]_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘[email protected]_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘[email protected]_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘[email protected]_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘[email protected]_4.0’未定义的引用
           

原因:【参考博文】

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

在cmake时,其打印信息为:

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

可以看出,确实是使用了anaconda的Qt模块。

解决方法:

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

直接指定cmake时使用Qt5模块的路径。

*注:在重新编译时,最好删除build文件夹下的所有文件,相当于make clean。

1.在colmap的cmake文件中【colmap工程目录/CMakeLists.txt】,找到Qt5的部分,增加PATHS参数指定目录:

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

2.之后在cmake时,要退出conda环境:

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

这是可以在编译信息中看到,采用的是系统的Qt5:

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

之后便可以成功编译!!!

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