• 7023阅读
  • 6回复

qt-embedded-4.5.2的编译问题(急救呀) [复制链接]

上一主题 下一主题
离线jointin
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-19
— 本帖被 XChinux 从 Qt for Windows 移动到本区(2010-02-07) —
这几天需要在一个pxa255 板子上安装QTE。PC机上,我用gumstix的buildroot建立了一个交叉编译环境,用的gcc是4.1.2。
./configure -embedded arm -qvfb,配置时没有出错,但是当make的时候就出现如下错误:
大体是在 qfuture.h中,macro index need 2 parameter ,but you have one。我看了看好像那个index是一个类中的私有变量,根本不是宏,我把出错的地方修改了一下,然后继续 make ,又出现错误,一看还是有index这个问题。
我是一个刚刚接触嵌入式的菜鸟,有没有人碰到过类似的问题,帮帮我吧!

我又用openembedded做了一个交叉编译器,但是还是错误。我想知道用什么版本的交叉编译器可以编译qt-embedded-4.5或者用 gcc4.1.2编译哪个版本的qte。

!!高手们帮帮忙吧
[ 此帖被jointin在2009-08-20 11:14重新编辑 ]
Action is better than speak
离线jointin
只看该作者 1楼 发表于: 2009-08-19
没人碰到这样的问题吗
Action is better than speak
离线jointin
只看该作者 2楼 发表于: 2009-08-20
concurrent/qfuture.h:120:105: error: macro "index" requires 2 arguments, but only 1 given
.......
源码是这样的:
       inline const_iterator(QFuture const * const _future, int _index) : future(_future), index(_index) {}  
Action is better than speak
离线szyema

只看该作者 3楼 发表于: 2009-10-26
jointin,
我也碰到这样的问题,你的解决了吗?你是怎么解决的?
离线batwem
只看该作者 4楼 发表于: 2010-11-25
我也碰到这样的问题,你的解决了吗?请问你们的解决没有,能不能把解决方法添上咯。
离线kummar
只看该作者 5楼 发表于: 2010-11-25
回 楼主(jointin) 的帖子
QtE4.5.2 用arm-linux-gcc-3.4.1
离线batwem
只看该作者 6楼 发表于: 2010-12-01
这个问题是由于uclibc在string.h中使用了index宏造成的宏冲突,可以在配置编译器时将__UCLIBC_SUSV3_LEGACY_MACROS__宏禁用,如果你使用的是第三方提供的编译器,无法修改配置,那么可以将你需要编译的源代码中含有index的文件开头添加一下语句:
#ifdef index
#undef index
#endif
其中第二种方法本人验证成功,第一种则有待各位验证了。
快速回复
限100 字节
 
上一个 下一个