opencv出现问题:/usr/lib/x86_64-linux-gnu/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9'
这个问题困扰了挺久,后来才恍然大悟,特来分享:
错误提示:
最开始我定位在/libpng16.so.16的问题上,可以查来查去也没有结果;后来看到说是zlib和libpng的安装顺序问题,我差点就被带跑偏了。
经过仔细回忆,想起来可能是zlib的版本问题,因为这里指出是ZLIB1.2.9,所以我一查,我安装的是zlib1.2.8,还有一个apt安装的zlib1.2.11,遂从官网下载,安装,解决了问题,指令代码如下:
1 wget http://www.zlib.net/fossils/zlib-1.2.9.tar.gz 2 tar -xvf zlib-1.2.9.tar.gz 3 cd zlib-1.2.9 4 mkdir build 5 cd build 6 cmake .. 7 make 8 make install
因为我是在服务器直接登录的root,具体使用的时候,加上sudo即可。
Reference:
zlib库各版本网站:http://www.zlib.net/fossils/