1前提
已经安装了ancoda
2-0 装eigen3
2-1装ceres
编译ceres时:error: ‘integer_sequence’ is not a member of ‘std‘错误
https://blog.csdn.net/qq_41586768/article/details/107541917
按照上安装的ceres库版本,以及网上大多数教程安装的版本都会和eigen3(3.3.7)有冲突,编译时会报如下错误:
这里换成1.14.0版本的ceres问题得以解决;
2-2在编译时对libtiff4.0的未定义引用(Ubuntu 16.04)
5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEXIFDirectory@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFFieldReadCount@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFSetTagExtender@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFCurrentDirectory@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadTile@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFSetDirectory@LIBTIFF_4.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFClientOpen@LIBTIFF_4.0'
https://github.com/colmap/colmap/issues/188
需要的是4.0但是最新的是5.0
手动下载4.0源码编译
安装好的
重新编译colmap工程
其他说明:
整个问题就是,因为提前装了anaconda3,他的路径和库干扰了系统自身默认的库和路径,导致安装编译的时候找库有问题,所以要去掉anaconda3的影响。
1 要么直接把anaconda3名字改了,导致找不到这个,也就不再用里面的配置。
完啦了再改回来
2 要么注销了aconda环境,安装完再回来(这个比较复杂,不建议)
3 camke的时候直接指定用系统的库而不是去adonda下面找(测试 cmake不再报错,但是后面make回报错)
SET(CMAKE_PREFIX_PATH "/usr/lib/x86_64-linux-gnu/cmake")
`TIFFReadDirectory@LIBTIFF_4.0‘未定义的引用
“undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0'” 问题解决方法
去libtiff管网上下载 tiff-4.0.4.tar.gz压缩包安装即可。安装方法如下:
解压tar -zxvf tiff-4.0.4.tar.gz
进入tiff目录
./configure
make
make install
网上有介绍通过sudo apt-get install libtiff4-dev安装,但是运行该命令后,提示libtiff4-dev已经被libtiff5-dev替代,只可安装libtiff5-dev,安装后并未解决问题。
解决方法:
在安装与tiff有关的包,如opencv时候,把conda的系统引用从系统路径里面消除掉,然后再进行安装.
ctrl+h 显示隐藏
先把保存一份 bashrc
然后修改去掉aconda的路径:
sudo gedit ~/.bashrc
(或者双击直接修改)
然后把 最后 Anaconda 的路径前面加 # 给注释掉:
# export PATH=/path/to/anaconda/bin:$PATH
然后:
source ~/.bashrc