我正在将 QImage 保存到 PNG 文件中,而 QPNGHandler 的可定制性不够(我需要 png_set_filter),所以我需要编写自己的 PNG 处理程序。如果 Qt 没有配置 -system-libpng,我可以直接访问 Qt 的捆绑版本吗?
现在我正在静态编译 Qt,但这可能会改变。
是的,我想这应该是可能的。我看到符号在 libQtGui.so 中:
arm-none-linux-gnueabi-nm libQtGui.so.4.7.2 | grep png_create_read_struct
0027b7c0 T png_create_read_struct
0027b3b4 T png_create_read_struct_2
我看到它包括来自 src/gui/image/qpnghandler.pri 的 libQtGui.so 中的所有源,除非在配置中指定了 system-png。我想您必须手动获取 .pro 文件中指定的标头广告,因为我认为 Qt 在安装时不会导出这些标头。