gpt4 book ai didi

c++ - libpng 警告 : Incompatible libpng version in application and library

转载 作者:IT王子 更新时间:2023-10-29 00:33:17 27 4
gpt4 key购买 nike

我有一个应用程序依赖于过多的库(不是我们都依赖)。大多数这些库都是通过包管理器安装的。对于那些不是的,我重新编译了它们,但我仍然得到相同的 libpng 不兼容错误。

libpng warning: Application was compiled with png.h from libpng-1.2.44
libpng warning: Application is running with png.c from libpng-1.4.3

这是一个错误,因为生成的缓冲区是空的。我如何知道哪个库链接到新库,哪个库链接到旧库?

ldd <executable-name>

...
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f5a0660f000)
...

运行 locate png.h 给我几个系统级文件

/usr/include/png.h
/usr/include/libpng12/png.h

都是1.2.44.

我正在运行 Ubuntu 11.04 x86-64。

更新:事实证明 OpenCV 附带了他们自己的 libpng 版本,即 1.4.3

最佳答案

看起来您的应用程序正在动态链接 .so库文件安装在您正在使用的 header 以外的地方。你可以ldd <binary>找出哪个.so您的二进制文件正在获取,然后从该目录(除非它是系统目录)而不是您正在使用的目录中获取头文件。您可以通过更改 -I 来做到这一点编译时的标志。否则我认为你需要安装 libpng-1.4.3这样您就可以针对它的 header 进行编译。

关于c++ - libpng 警告 : Incompatible libpng version in application and library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5544445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com