标题:请问在Broadcom 7405的板子上如何编译qt-everywhere-opensource-src-4.6.2.tar.gz?
作者:davidchiu
日期:2010-03-16 19:49
内容:
请问在Broadcom 7405的板子上如何编译qt-everywhere-opensource-src-4.6.2.tar.gz?
congfigure应该带哪些参数?
并且只能用DirectFB启动!
谢谢!
#1 [davidchiu 03-17 12:56]
./configure -opensource -static -prefix /home/stb/qt -embedded -arch mips -little-endian -host-little-endian -xplatform qws/linux-mips-g++ -plugin-gfx-directfb -no-libpng
qmake.conf已经修改,加上了
QT_CFLAGS_DIRECTFB = -I/home/stb/Broadcom/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/opt/dfb/include/directfb -D_REENTRANT
QT_LIBS_DIRECTFB = -L/home/stb/Broadcom/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/opt/dfb/lib/-ldirect -ldirectfb -lfusion
但是,总是报如下错误:
Creating qmake. Please wait...
gmake: Nothing to be done for `first'.
The DirectFB screen driver functionality test failed!
You might need to modify the include and library search paths by editing
QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in
/home/stb/qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-mips-g++.
google了半天,没有发现解决的方法,郁闷。
#2 [davidchiu 03-17 15:19]
加上-v后,有如下错误:
DirectFB auto-detection... ()
mips-linux-g++ -c -pipe -mips32 -D_REENTRANT -I/home/stb/dfb/include/directfb -O2 -Wall -W-I../../../mkspecs/qws/linux-mips-g++ -I. -o directfb.o directfb.cpp
mips-linux-g++ -Wl,-O1 -o directfb directfb.o -L/home/stb/dfb/lib -ldirectfb -lfusion -ldirect -lpthread -ldl
/home/stb/dfb/lib/libdirectfb.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
gmake: *** 错误 1
DirectFB disabled.
The DirectFB screen driver functionality test failed!
You might need to modify the include and library search paths by editing
QT_CFLAGS_DIRECTFB and QT_LIBS_DIRECTFB in
/home/stb/qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-mips-g++.
#3 [davidchiu 03-17 18:21]
libdirectfb.so是用mips-linux-gcc编译的,mips-linux-g++竟然不认识?百思不解中~
#4 [davidchiu 03-17 19:30]
原来libdirectfb.so是用mipsel-linux-gcc编译的,这是-little-endian mips,所以用-big-endian mips-linux-g++编译,导致无法识别,但是
在的configure中已经指明了-little-endian,但是为什么还是用mips-linux-g++,而没有用mipsel-linux-g++呢?
谁能指明一下方向,谢谢~
累呀~
先手工将mipsel-linux-g++修改mips-linux-g++,试试瞒天过海法~
#5 [davidchiu 03-18 12:39]
晕死了,哎,头昏了!
-little-endian将目录/mkspecs/qws/linux-mips-g++/qmake.conf 将其中的mips-linux-gcc、mips-linux-g++改为mipsel-linux-gcc、mipsel-linux-g++即可,搞什么瞒天过海法,汗颜!
有人知道-qt-gfx-directfb同-plugin-gfx-directfb有什么区别吗?
-qt-gfx-directfb同-plugin-gfx-directfb的区别:
-qt-gfx-directfb- ...Enable a directfb in the Qt Library.
-plugin-gfx-directfb- Enable directfb as a plugin to be linked to at runtime.