甲壳虫1991 发表于 2014-8-30 15:53:23

qt-x11编译问题

本帖最后由 甲壳虫1991 于 2014-8-30 22:46 编辑

   最近使用qt-x11-opensource-src-4.5.3.tar.gz编译qt,出现失败,实在查不到参考也一直没有解决,望前辈指教,信息如下:       声明,gcc 4.8.3    g++ 4.8.3gmake(make) 3.8.2
            下面是我自己的分析过程,望指导
   1,我在解压源码后,执行了./configure -qvfb命令,然后顺利通过,再执行gmake 时运行了七八分钟后出错,信息如下
看着好几处错误,其实仅由一两处造成,请前辈别害怕,


提示它说有不完全类型非法使用,我就去看源程序xxx.cpp,代码如图


一看代码,我就去查找这个info_infoop结构体定义,
然后再这个xxx.cpp文件中没有的他的定义,
再去看包含头文件


因为比较多,没有继续查找定义实现在哪,但是从第二条错误中可以看出,
在xxx.h中(见出错信息)


这是png_infoop的出处,而且整个xxx.h文件中,只有这一处出现了png_info_def,再看这个xxx.h包含的头文件,仅有这两个


再去看了这两个文件,用搜索关键字,也找不到png_info_def的出处,
所以我推测,在xxx.h中仅声明了png_info,然后又用它声明了一个指针png_infoop,因为没有定义实现,所以是前向声明,而在包含xxx.h的xxx.cpp中
也没有他的定义,所以它是一个不完全类型,也不知道它的具体成员,所以在xxx.cpp中整体使用info_ptr可以,一旦出现info_ptr->就完蛋了,因为
根本没有他的定义实现,所以爆出前向声明错误和不完全类型的非法访问错误
      这是我的分析,不知前辈觉得合理不?我的问题如下
      1----这qt源码应该是哪些公司经过测试的,代码上应该不会有问题啊,为啥会出错,会编译不过呢?因为环境,工具的版本?
      2----我对整个qt代码的结构并不了解,我根本没有办法修改,如果您遇到应该采取什么办法,才能解决问题呢
      我把这两个源码文件也附上,如果您有兴趣探究可以下载查看,也希望可以和您交流请教!


甲壳虫1991 发表于 2014-8-30 15:59:03

先自己顶自己一下

wbz073 发表于 2014-9-1 09:18:53

甲壳虫1991 发表于 2014-8-30 15:59
先自己顶自己一下

这个我们也没做过,不了解
页: [1]
查看完整版本: qt-x11编译问题