这里是 Ubuntu 22.04。为了运行旧版应用程序,我安装了 libpng 1.2,使用来自在 ubuntu 22.04 上安装 libpng12。那里没有 50 分可以评论,所以我请在这里询问。
为什么 libpng-config --version 显示 1.2.59,来自 /usr/local/lib?它是 //usr/local/bin/libpng-config -> libpng12-config 。不应该使用更高的版本吗,原来的 1.6?如何恢复 1.6,即将其设置为 main: /bin/libpng-config -> libpng16-config*。?
构建(编译)其他旧应用程序(为 libpng 1.2 制作)时,我收到错误“png_create_read_struct 失败”,这似乎相关,因为我看到“libpng 警告:应用程序使用 libpng-1.2.59 构建但使用 1.6.37 运行”。
这和 libpng-config --version 有关吗?如果确实使用 1.2 进行构建,那么它如何与 1.6 一起运行,这到底意味着什么?
注意:周围有很多类似的错误,但我找不到答案。最接近的是使用了错误的库版本(libpng)但这不是真正的解释。
答案1
根据注释的提示:使用的 libpng-config 是按 PATH 顺序排列的。卸载 libpng 1.2 后,版本正确,我可以构建了。由于 libpng 1.2 的 PPA 现在适用于 Ubuntu 22.04,因此建议这样做。并且不应使用引用链接中的安装。