QT 4.7汇编指令出错的处理办法

有个型号的产品要求升级QT的支持,加入多国语言包(机器在上一版本发布的时候,没想到会如此的国际化)。

由于其他一些型号的QT已经升级到QT4.7了,因此准备将这个型号也升级上去。几个型号的区别主要是编译器版本不同,这个型号用的是gcc 3.4。没想到编译字库的时候还是出了问题:

Error: register or shift expression expected – `orr r3,r2,lsl#16' 

我的第一反映是给的体系结构有问题,手工执行编译命令,加入march=armv4,错误还是一样的。经过google发现这是个BUG,还好他们给出了解决方案:

http://bugreports.qt.nokia.com/browse/QTBUG-6521

 

To fix this issue patch /src/3rdparty/freetype/include/freetype/config/ftconfig.h Line 330.

  • "orr %0, %2, lsl #16/n/t" /* %0 |= %2 << 16 */
    + "orr %0, %0, %2, lsl #16/n/t" /* %0 |= %2 << 16 */

他的意思是加多一个%0在%2前面。经过验证,OK!

 

你可能感兴趣的:(职场,qt,休闲,汇编指令)