Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39367
  • 博文数量: 9
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-06 18:44
文章分类

全部博文(9)

文章存档

2013年(2)

2012年(7)

我的朋友

分类: C/C++

2012-12-08 19:25:37

网上给出的解决方案是:
------解决方案--------------------------------------------------------
使用gmake编译前需要修改/usr/include/linux/futex.h:


  1. 在第4行前插入下面内容:#include
  2. 替换第108行至113行之间的“u32”为“__u32”


本人验证:把文件里所有的“u32”替换为“__u32”,并非是在这些行。同时本人查看了能成功安装qt的一些机器对应的文件,发现没有字符串“u32”,也没有#include 。可见__u32的定义




网上查找到的类似的错误是:



  1. shared -o .obj/release-shared/qmutex_unix.o thread/qmutex_unix.cpp
  2. /usr/include/linux/futex.h:96: 错误:‘u32’ 在此作用域中尚未声明
  3. /usr/include/linux/futex.h:96: 错误:‘uaddr’ 在此作用域中尚未声明
  4. /usr/include/linux/futex.h:96: 错误:expected primary-expression before ‘int’
  5. /usr/include/linux/futex.h:96: 错误:‘u32’ 在此作用域中尚未声明
  6. /usr/include/linux/futex.h:96: 错误:expected primary-expression before ‘unsigned’
  7. /usr/include/linux/futex.h:97: 错误:‘u32’ 在此作用域中尚未声明
  8. /usr/include/linux/futex.h:97: 错误:‘uaddr2’ 在此作用域中尚未声明
  9. /usr/include/linux/futex.h:97: 错误:‘u32’ 在此作用域中尚未声明
  10. /usr/include/linux/futex.h:97: 错误:‘u32’ 在此作用域中尚未声明
  11. /usr/include/linux/futex.h:97: 错误:initializer 表达式列表被看作复合表达式
  12. /usr/include/linux/futex.h:100: 错误:‘u32’ 在此作用域中尚未声明
  13. /usr/include/linux/futex.h:100: 错误:‘uaddr’ 在此作用域中尚未声明
  14. /usr/include/linux/futex.h:100: 错误:expected primary[/size][/size][/size]


其实,在安装过程中,我一直以为是版本的问题,比如要显示的指定x86_64。个人对linux知之甚少,所以很费力,阅读readme也只找到


  1. ..\qt\qt-everywhere-opensource-src-4.8.4\mkspecs\linux-g++-64

所以版本是没有问题的,不太懂,要学的实在是太多了

阅读(1694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~