【已解决】libfreeimage.so:对‘TIFFTileRowSize@LIBTIFF_4.0’未定义的引用

一、问题

编译安装colmap时遇到下面问题

[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’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFIsByteSwapped@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFDefaultStripSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFComputeStrip@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFReadTile@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldWithTag@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFTileSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldName@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldReadCount@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFGetTagListEntry@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFClose@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFSetTagExtender@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFGetTagListCount@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFGetFieldDefaulted@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFSwabArrayOfLong@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldPassCount@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFSetSubDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFStripSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFFieldDataType@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘_TIFFDataSize@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFReadRGBAImage@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFMergeFieldInfo@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFDataWidth@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFSetDirectory@LIBTIFF_4.0’未定义的引用
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libfreeimage.so:对‘TIFFReadEXIFDirectory@LIBTIFF_4.0’未定义的引用
collect2: error: ld returned 1 exit status
src/exe/CMakeFiles/colmap_exe.dir/build.make:280: recipe for target 'src/exe/colmap' failed
make[2]: *** [src/exe/colmap] Error 1
CMakeFiles/Makefile2:892: recipe for target 'src/exe/CMakeFiles/colmap_exe.dir/all' failed
make[1]: *** [src/exe/CMakeFiles/colmap_exe.dir/all] Error 2
Makefile:148: recipe for target 'all' failed
make: *** [all] Error 2

二、尝试解决方法

方法一:更改cmakelist

方法二:更改anaconda环境变量

三、最终解决方法

上述两种方法都无用,最终更换freeimage版本得以成功解决
freeimage版本:3.18.0
libtiff版本:4.0.4

/home/ubuntu/1software/colmap/src/exe/model.cc:867:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int idx = 0; idx < num_parts; ++idx) {
                     ~~~~^~~~~~~~~~~
[100%] Linking CXX executable colmap
[100%] Built target colmap_exe

freeimage安装教程

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值