BCM 7425 – Qt 4.8 – DirectFB /QWS
Building AppLibs/RefSW for Qt
- Locate document named “BroadcomReferencePlatformSetup.pdf” (Usually this will be inside a tar ball named on the lines of refsw_release_<chip-name>_<date>.tgz)
- Follow the instructions in “BroadcomReferencePlatformSetup.pdf” to setup the Linux build machine
- Locate document named “AppLibsInstallationBuildGuide.pdf” (Usually this will be inside a tar ball named on the lines of applibs_release_<date>.tgz)
- Follow the instructions in “AppLibsInstallationBuildGuide.pdf” to build Applibs
Qt 4.8 DirectFB / QWS
- Obtain qt-4.8.0 release from Qt Download site [get.qt.nokia.com] and extract it in a working folder
- Obtain 7425 specific files from qt-platform-mkspecs git [gitorious.org] (look for folder “4.8”)
- Copy folder named “linux-7425dfb-mipsel-uclibc-g++” to <qt-4.8.0-sources>/mkspecs/qws
- Set following environment variables in the shell before configuring/building Qt,
- BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs
- BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
- BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib
- DEBUG=n
for example,
- $ export BCM_APPLIBS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/AppLibs
- $ export BCM_NEXUS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/nexus
- $ export BCM_TARGET_LIBDIR=/opt/nfsroot_uclibc/romfs/lib
- Configure Qt as,
- $ configure -embedded mips -xplatform qws/linux-7425dfb-mipsel-uclibc-g++ -depths 16,24,32 -no-largefile \
- -no-accessibility -opensource -verbose -system-zlib -system-libpng -system-libjpeg -system-freetype -fast \
- -qt-gfx-directfb -qt-gfx-vnc -qt-kbd-linuxinput -qt-mouse-linuxinput -webkit -declarative -multimedia \
- -prefix /usr/local/qt-installs/qt480ga-mdfb-rel
- Build Qt as,
- $ make
- Install Qt on host as,
- $ make install
Building Qt apps
- After the Qt build succeeds set following environment variables on host before building any Qt Apps for the above build, *QTDIR=/usr/local/qt-installs/qt480ga-mdfb-rel *PATH=/usr/local/qt-installs/qt480ga-mdfb-rel/bin:$PATH
- Ensure that following environment variables in the shell are set,
- BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs
- BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
- BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib
- DEBUG=n
- Invoke qmake on the applications .pro file
- $ qmake <application>.pro
- Build the application sources as,
- $ make
Running Qt apps on target
- Ensure that folder “qt-installs/qt480ga-mdfb-rel” is copied on target file system at “/usr/local” Note – after copying, the path should appear as “/usr/local/qt-installs/qt480ga-mdfb-rel”
- Copy the application binary and other required resource files on target file-system, at say “/root”
- On target, goto directory containing directfb startup script as,
- # cd /usr/local/bin/directfb/1.4
- Install board specific modules and create device nodes by running “rundfb.sh” as,
- # ./rundfb.sh install
- Launch application using same rundfb.sh script as,
- # ./rundfb.sh /root/app1/app1 -qws -display directfb

