undefined reference to ‘TIFFReadDirectory@LIBTIFF_4.0’,undefined reference to `uuid_unpa’

ubuntu20安装opencv-4.6踩坑记录

首先按照官网说明操作

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake  ../opencv-4.x
# Build
cmake --build .

第一个坑

其中 在#configure这里, 最好挂个梯子科学上网,因为有个组件被墙了,这是第一个坑。即应当在确保挂着梯子的情况下运行

# Configure
cmake  ../opencv-4.x

第二个坑undefined reference to ‘TIFFReadDirectory@LIBTIFF_4.0’

输入最后一个语句

cmake --build .

时,遇到第二个坑,“TIFFReadDirectory@LIBTIFF_4.0”,

//usr/lib/libvtkIO.so.5.10:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFClose@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFGetFieldDefaulted@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘_TIFFmalloc@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFDefaultStripSize@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFReadTile@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘_TIFFfree@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFNumberOfDirectories@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFReadRGBAImage@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFSetDirectory@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFReadScanline@LIBTIFF_4.0’未定义的引用
//usr/lib/libvtkIO.so.5.10:对‘TIFFNumberOfTiles@LIBTIFF_4.0’未定义的引用

这个坑是由libtiff-dev导致的,参考连接:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
安装即可,根据连接中的说法,去官网下载即可。但是apt和官网只能下载到v5,而系统自带的是v4.1都不能满足需求。故要从另外的链接下载,我找到了一个如下:tiff4.0下载后解压安装即可

第三个坑

这个坑也是在语句

cmake --build .
[ 72%] Built target opencv_test_calib3d
Scanning dependencies of target opencv_test_highgui
[ 72%] Building CXX object modules/highgui/CMakeFiles/opencv_test_highgui.dir/test/test_gui.cpp.o
[ 72%] Building CXX object modules/highgui/CMakeFiles/opencv_test_highgui.dir/test/test_main.cpp.o
[ 72%] Linking CXX executable ../../bin/opencv_test_highgui
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so: undefined reference to `uuid_parse@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so: undefined reference to `uuid_generate_random@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so: undefined reference to `uuid_unparse@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so: undefined reference to `uuid_copy@UUID_1.0'
collect2: error: ld returned 1 exit status
make[2]: *** [modules/highgui/CMakeFiles/opencv_test_highgui.dir/build.make:122: 
在文本文档中就培养到大脑的能力bin/opencv_test_highgui] Error 1按照
make[1]: *** [CMakeFiles/Makefile2:2852: modules/highgui/CMakeFiles/opencv_test_highgui.dir/all] Error 2
make: *** [Makefile:163: all] Error 

这里是“uuid_generate@UUID_1.0”错误。 他的解决的方法和错误原因参考下面连接:
undefined reference to `uuid_parse@UUID_1.0

参考连接:
tiff
UUID_1.0

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值