最近需要编译一个用qt3写的openGL程序,v_v现在qt5都出来了。
1)首先编译安装qt3,结果是 出现 png_process_data_pause 函数没定义,
这是用了系统的libpng库的 png.h 头文件,
其实qt3的src目录下已经附带了一些第三方库了(包括libpng)
这样看来只需要在编译时指定使用qt3代码附带的libpng库就可以了
./configute -system-libpng # 使用系统自带的libpng库
改为
./configure -qt-libpng # 使用qt3源码附带的libpng库
2) 安装完qt3后,开始编译这个用qt3的openGL程序
2.1) QT3DIR/qmake
2.2) make
一路顺利,编译通用
3)执行这个程序,结果没有显于
4)用gdb attach 这个进程看一下它在干什么

本文记录了在编译一个基于QT3的OpenGL程序时遇到的问题及解决步骤。首先,由于系统库导致的png_process_data_pause函数未定义问题,通过指定使用QT3自带的libpng库解决。接着,成功编译后,程序无法显示界面。通过gdb调试发现,由于在src/glworldviewer.cpp的236行代码中,使用了INT_MAX导致删除操作耗时过长,由于系统使用mesa模拟的OpenGL性能较差。将INT_MAX临时改为100后,程序正常运行,显示了界面。最后,作者提到系统为了兼容旧软件,安装了多个QT版本。
最低0.47元/天 解锁文章
765

被折叠的 条评论
为什么被折叠?



