安装Qt-Embedded-4.5.0 出现问题。编译文件ui_qtgradienteditor.h时PC机CPU占用率99.7% 。无法继续编译。请高手指点。
编译条件:
(0) gcc 版本 4.1.2 20070626 (Red Hat 4.1.2-14)
(1) 源码包 qt-embedded-linux-opensource-src-4.5.0.tar.gz 。
(2) configure配置如下
./configure -embedded x86 -qvfb -no-webkit
(3) configure配置好后,直接make.
大约1个小时后 ,出现如下提示,就无法继续编译了。
(前面的提示信息略去)
cd lib/ && make -f Makefile
make[4]: Entering directory `/home/dingzx/qt-co
/home/dingzx/qt-co
make[4]: Leaving directory `/home/dingzx/qt-co
make[4]: Entering directory `/home/dingzx/qt-co
/home/dingzx/qt-co
-o .uic/release-shared-emb-x86/ui_qtgradienteditor.h
当时用top 命令查看,信息如下:
Tasks: 139 total, 3 running, 135 sleeping, 0 stopped, 1 zombie
Cpu(s):100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 515532k total, 509324k used, 6208k free, 103892k buffers
Swap: 1048568k total, 112k used, 1048456k free, 206716k cached
PID USER PR NI VIRT RES SHR S % CPU % MEM TIME+ COMMAND
24512 root 25 0 20956 11m 1556 R 99.8 2.3 65:04.53 uic
20158 root 15 0 2168 1040 792 R 0.7 0.2 0:16.10 top
1 root 15 0 2044 636 548 S 0.0 0.1 0:00.43 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.09 events/0
6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
7 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 kblockd/0
11 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
92 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
95 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
97 root 19 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
156 root 15 0 0 0 0 S 0.0 0.0 0:00.16 pdflush
157 root 15 0 0 0 0 S 0.0 0.0 0:00.63 pdflush
158 root 10 -5 0 0 0 S 0.0 0.0 0:00.94 kswapd0
159 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
316 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kpsmoused
339 root 16 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0
340 root 16 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
351 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ksnapd
354 root 10 -5 0 0 0 S 0.0 0.0 0:01.24 kjournald
379 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
411 root 16 -4 2400 884 384 S 0.0 0.2 0:00.59 udevd
792 root 12 -5 0 0 0 S 0.0 0.0 0:00.01 kgameportd
1345 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
1368 root 19 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
1730 root 16 -3 12064 640 488 S 0.0 0.1 0:00.00 auditd
1732 root 12 -3 10104 3940 2300 S 0.0 0.8 0:00.05 python
1754 root 18 0 1800 708 596 S 0.0 0.1 0:00.03 syslogd
1757 root 15 0 1652 404 336 S 0.0 0.1 0:00.00 klogd
1791 rpc 15 0 1792 560 464 S 0.0 0.1 0:00.00 portmap
解决方法:
configure 时候加-DQT_QLOCALE_USES_FCVT就可以了,我也是碰到这个问题,搞了很久,追踪进去发现的浮点数运算问题导致的
http://www.qtcn.org/bbs/read.php?tid=16228
Added macro QT_QLOCALE_USES_FCVT for systems with non-IEEE-compliant
floating point implementations (notably some versions of ARM
Linux). These systems are not autodetected; use
"-DQT_QLOCALE_USES_FCVT" as a parameter to ./configure.
引用页: http://www.smth.edu.cn/bbsgcon.php?board=X11&num=43