Cross compiling Qt-embedded 4.5.3

Cross compiling Qt was actually very easy. I used the same machine described in the mini2440 kernel post.  If you have a vanilla install of Fedora 11  it’s more than likely you’ll get some errors due to missing packages so check the list i posted if you can’t figure out which ones you need. This is what i did:

  1. Download the Qt source from Trolltech
  2. Untar the archive somewhere, i simply used the desktop
  3. Edit the file mkspecs/qws/linux-arm-g++/qmake.conf according to your toolchain. I have attached mine here as an example. I used the toolchain from OpenEmbedded.
  4. Now run the following commands within the Qt directory:
  • ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/Qt -qt-mouse-tslib -little-endian
  • gmake -j 2 (or however many CPUs you have)
  • sudo gmake install

The resulting ~74MB  will be located in /usr/local/Qt. At first i ran the library from an SD card using a system wide link but later i used NFS.

I ran the library using BusError’s mini2440 kernel and an Angstrom base image I cross compiled using OpenEmbedded apriori. In my next post i’ll describe how to compile Angstrom Linux for this purpose which also provides the toolchain i used here. Finally when i get access to my mini2440 i’ll explain how to use the examples and setup the touch screen which was a little fiddly.

Big thanks to Cor for his post on building Qt which i’ve relied on heavily here.

49 Replies to “Cross compiling Qt-embedded 4.5.3”

  1. HI Doug,

    Thanks for the post. Its funny though because I did exactly the same thing and even though Qt gets build, as soon as it gets to build demos or examples it springs up the errors that I posted in my last comment. The only difference between your environment and mine is that I am using Ubuntu 8.1 as host OS and am using ‘make’ instead of ‘gmake’. I will check the package list closely and if it doesnt help will move to Fedora and gmake :-). Did you make an env settings for the build to update $PATH, $LD_LIBRARY_PATH etc ?

    Thanks
    Pankaj

  2. Hi Pankaj,

    I don’t think so, although i’m a little rusty on the details as it’s been a few months since i did the build. When i get my machine back i’ll try to reproduce my install from scratch. One thing i have made a note of is that i had to install the following packages to the Angstrom base image to get the Qt demos to work:

    libts
    libpng12-0
    libstdc++6

    I cannot remember if i used the libts package or the libts driver i compiled from scratch. One of them was causing a segmentation fault. I need to check which one! Either way you don’t need it to run the demos. Unfortunately i’m not sure where the fault you’re getting is coming from.

    Good luck!
    Doug

  3. @Doug
    Thanks for the response. A few months back I had tried the codesourcery toolchain and I was able to build Qt and all the demos/examples completely. This time since I flashed my mini2440 with angstrom I decided to use the angstrom toolchain (same one that you are using). Qt libraries build fine but when I get to build demos/examples the linking step chokes. It seems like a wrong glibc somewhere but I would assume the angstrom toolchain will have the correct link libraries. Anyways thanks for the help. BTW, is there a way that you can post the angstrom image and Qt build binaries that you did for mini2440 as is. I can try using that directly on my mini to see if my app would work fine. Then I can work on debugging my build process to see whats causing the problems.

    Thanks
    Pankaj

  4. I downloaded “http://www.diycinema.co.uk/mini2440/Package.tar.gz” .Firstly I want to ask that did anyone try this. Because uImage file is just 64 byte and it not work already but after I extracted “Angstrom-base-image-glibc-ipk-2009.X-stable-mini2440.rootfs.tar.gz” /boot/ directory has a “uImage-2.6.25.20” kernel file and I used this file but go on same anything is normal and system remain just. Namely it is hung…

    “””U-Boot 1.3.2NAND: 64 MiB
    ……….
    Hit any key to stop autoboot: 0

    Loading from NAND 64MiB 3,3V 8-bit, offset 0x60000
    Image Name: Angstrom/2.6.25.20/mini2440
    Created: 2009-08-02 13:40:21 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 1552288 Bytes = 1.5 MB
    Load Address: 30008000
    Entry Point: 30008000
    ## Booting kernel from Legacy Image at 32000000 …
    Image Name: Angstrom/2.6.25.20/mini2440
    Created: 2009-08-02 13:40:21 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 1552288 Bytes = 1.5 MB
    Load Address: 30008000
    Entry Point: 30008000
    Verifying Checksum … OK
    Loading Kernel Image … OK
    OK

    Starting kernel …””

  5. Sorry, it looks like uImage didn’t copy correctly into the package. I will try and fix it later tonight. The uImage in the Angstrom build is not useful!

  6. @Doug
    Sorry Doug but I had been down sick and never got time to checkout the package.tar.gz you had uploaded. I tried it yesterday and also found uImage to be bad. Did you update the package file with the updated uImage so that I can take it for a spin again.

    Thanks
    Pankaj

  7. @Doug
    Hello Doug,

    When we can expect to get updated archive with correct files?
    I also found that some others files (like QtXml and some other libs) are empty.

    Thanks!

  8. The package should be fixed now! This should be enough to get the Qt demos working once you’ve configured the environment correctly. I would use this only as a taster, I strongly recommend building it all yourself!

  9. Hi All,

    How do i tell Qtopia 2.2 on mini2440 board to look in the SD card for Qt 4.5 libraries…

    “/hello: error while loading shared libraries: libQtGui-4.so: cannot open share
    d object file: No such file or directory”

    Thanks

  10. When attempting to launch fluidlauncher I receive the following error:

    /usr/local/Qt# demos/embedded/fluidlauncher/fluidlauncher -qws
    ERROR: Unable to open config file “config.xml”

    And an arrow appears which can be moved around and paints a green background. Looking in the “config.xml” file I didn’t see any entry for fluidlauncher.

    Any ideas?

    Thanks,

    vinpa.

  11. I am upgrading my mini2440 to QT 4.5. so far i have installed uboot,kernel and jffs2 successful. But can somebody point me out the way to port the tsilb, QT and tar.gz to my mini2440.

    1. There are many ways to do this but the easiest one is to follow the instructions here:

      http://cowboycoders.org/?p=109

      Bitbake will build qt, tslib, angstrom and a jffs2 file you can flash directly to the NAND. I think you’ll get Qt 4.4.3(?) at the time of writing unless you specify a different version. I couldn’t get it to bitbake Qt4.5 with the supplied toolchain, i ended up doing it manually with a tool chain from codesorcery. I haven’t tried flashing the resulting image although i’ve tested it over NFS and it works with all the demos although you have to setup tslib. I think it ends up at ~64MB so you might have to use an SD card if you have the early version. Hope that helps!

  12. @fookies

    fookies :
    I am upgrading my mini2440 to QT 4.5. so far i have installed uboot,kernel and jffs2 successful. But can somebody point me out the way to port the tsilb, QT and tar.gz to my mini2440.

    Yes i have the solution for compile Tslib & Qt4.53 ,but i never succed to upgrade my 2240 board perhaps coud we make an exchange . If you interressed in send me an email at eric.monrose@gmail.com . use a simple english because i’m french thanss

  13. I have build Angstrom openembedded distrubition for mini2440, I can start it from NFS and I can run the QtDemo on it, but I try to compile some Qt programs for my NFS. I couldnt find qmake on openembedded for my Makefile.

    In fact I am trying to find a way, how to build my Qt codes for my mini2440, I couldnt get the qmake for it.

  14. Doug :
    Hi Pankaj,
    I don’t think so, although i’m a little rusty on the details as it’s been a few months since i did the build. When i get my machine back i’ll try to reproduce my install from scratch. One thing i have made a note of is that i had to install the following packages to the Angstrom base image to get the Qt demos to work:
    libts
    libpng12-0
    libstdc++6
    I cannot remember if i used the libts package or the libts driver i compiled from scratch. One of them was causing a segmentation fault. I need to check which one! Either way you don’t need it to run the demos. Unfortunately i’m not sure where the fault you’re getting is coming from.
    Good luck!
    Doug

    Doug How did you added these packages to ypur rootfs manually

  15. Hi Doug, finally i could get working the loading from the sd, angstrom load fine, but when i try to run the “qtdemo” say that “QSQLITE driver not loaded” but the interface its show on the screen but i can’t launch the examples. Also i tried to follow this tutorial for cross compile but a get an error too:

    Creating qmake. Please wait…
    gmake: No se hace nada para `first’.
    The tslib functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR and QMAKE_LIBDIR in

    I’m stuck again,

  16. @Ferock
    Hi Ferock, the other day i git cloned the openembedded repo (see the post by Will) and baked a new image. If you add qt4 embedded to the image you should get version 4.6 at the time of writing. The mini2440 repo is quite out of date at the moment. The only thing i had to do after this was install the tslib plugin (found in the deploy > ipk folder) and set the QWS_MOUSE_PROTO variable and then calibrate the screen using ts calibrate. After that all the demos ran perfectly. Don’t forget the -qws switch either!I will post an update as soon as i get some free time. Doug

  17. Doug I have crosscompiled Qt embedded 4.6 with “http://www.andahammer.com//Downloads/linux/arm-linux-gcc-4.3.2.tgz” that toolchain. Every thing seems fine, I copied every lib files to NFS . After copying my crosscompiled executable when I try to execute it , I am having that message,

    “Illegal instruction” I am sure , I am using right GCC, after googling for a while I found that page,

    “http://wiki.linuxmce.org/index.php/Mini2440_Orbiter_setup_and_FAQ#What_compiler_switches_do_I_need_to_build_working_code_on_a_mini2440.3F”

    ” What compiler switches do I need to build working code on a mini2440?

    If you’re staring at “illegal instruction error” problems, and using arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2008q3-72) 4.3.2, you need this:

    -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t

    What that is mean, Can you explain me?

  18. You can specify the compiler flags in qmake.conf. This should be under:

    {qtpath}/mkspecs/qws/linux-arm-g++/

    From memory i think i added:

    QMAKE_CFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm92
    QMAKE_CXXFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm92

    If that works please let me know..i lost my setup a little while ago and i haven’t got round to setting it up again (I’ve been working on a device driver).

    The other thing you can do is use the offical openembedded source instead of the mini2440 version (see Will’s post). Last time i ran this with qt-embedded in my recipe i got version 4.6 working right out of the box. You just need to install the mouse support ipk and calibrate the screen.

    Hope that helps!

    Doug

  19. Dear Doug

    I added my setup to “{PATH}/mkspes/qws/linux-arm-g++/ ” this
    ————————————————————————————————————————–
    QMAKE_CC = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc
    QMAKE_CXX = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    QMAKE_LINK = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    QMAKE_LINK_SHLIB = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    # modifications to linux.conf
    QMAKE_AR = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar
    QMAKE_OBJCOPY = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-objcopy
    QMAKE_STRIP = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-strip

    QMAKE_CFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
    QMAKE_CXXFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
    ——————————————————————————————————————————————

    this is my configuration “./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/QtFlag -static -optimized-qmake -little-endian -depths 16 ”

    But I got some errors at gmake step

    ———————————————————————————————-
    “.obj/release-static-emb-arm/moc_qfactoryloader_p.o .obj/release-static-emb-arm/moc_qabstracteventdispatcher.o .obj/release-static-emb-arm/moc_qabstractitemmodel.o .obj/release-static-emb-arm/moc_qeventloop.o .obj/release-static-emb-arm/moc_qcoreapplication.o .obj/release-static-emb-arm/moc_qcoreevent.o .obj/release-static-emb-arm/moc_qmimedata.o .obj/release-static-emb-arm/moc_qsocketnotifier.o .obj/release-static-emb-arm/moc_qtimer.o .obj/release-static-emb-arm/moc_qtranslator.o .obj/release-static-emb-arm/moc_qobjectcleanuphandler.o .obj/release-static-emb-arm/moc_qsharedmemory.o .obj/release-static-emb-arm/moc_qeventdispatcher_unix_p.o .obj/release-static-emb-arm/moc_qtextcodecplugin.o .obj/release-static-emb-arm/moc_qabstractstate.o .obj/release-static-emb-arm/moc_qstate.o .obj/release-static-emb-arm/moc_qfinalstate.o .obj/release-static-emb-arm/moc_qhistorystate.o .obj/release-static-emb-arm/moc_qabstracttransition.o .obj/release-static-emb-arm/moc_qsignaltransition.o .obj/release-static-emb-arm/moc_qeventtransition.o
    /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar: illegal option — Q
    Usage: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file…
    /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar -M [<mri-script]
    commands:
    d – delete file(s) from the archive
    m[ab] – move file(s) in the archive
    p – print file(s) found in the archive
    q[f] – quick append file(s) to the archive
    r[ab][f][u] – replace existing or insert new file(s) into the archive
    t – display contents of archive
    x[o] – extract file(s) from the archive
    command specific modifiers:
    [a] – put file(s) after [member-name]
    [b] – put file(s) before [member-name] (same as [i])
    [N] – use instance [count] of name
    [f] – truncate inserted file names
    [P] – use full path names when matching
    [o] – preserve original dates
    [u] – only replace files that are newer than current archive contents
    generic modifiers:
    [c] – do not warn if the library had to be created
    [s] – create an archive index (cf. ranlib)
    [S] – do not build a symbol table
    [v] – be verbose
    [V] – display the version number
    @ – read options from
    emulation options:
    No emulation specific options
    /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar: supported targets: elf32-littlearm elf32-bigarm elf32-little elf32-big srec symbolsrec tekhex binary ihex
    gmake[1]: *** [../../lib/libQtCore.a] Error 1
    gmake[1]: Leaving directory `/home/can/Downloads/qt-embedded-none-linux/src/corelib’
    gmake: *** [sub-corelib-make_default-ordered] Error 2”
    ———————————————————————————————————————

    I couldn’t gmake Qt.

  20. I changed operating system on my PC, I installed Fedora 12 and tried to cross compile Qt 4.6 and it works fine.

    {PATH}/mkspes/qws/linux-arm-g++/

    QMAKE_CC = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc
    QMAKE_CXX = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    QMAKE_LINK = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    QMAKE_LINK_SHLIB = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
    # modifications to linux.conf
    QMAKE_AR = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar
    QMAKE_OBJCOPY = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-objcopy
    QMAKE_STRIP = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-strip

    QMAKE_CFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
    QMAKE_CXXFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t

  21. Hello!
    Again me!!!
    I managed to get the ts_* utils working, as well as my compiled QT
    libraries.

    My problem lies in the calibration of the touchscreen.
    It seems coordinates are inverted. When I drag it over X axis mouse is
    moving at Y axis , When I drag it over Y axis mouse is moving at X axis.

    and also when I export QWS_MOUSE_PROTO=tslib:/dev/input/ts , my application
    is not responding. It is freezing, Do you have any sugesstion?

  22. Check in /dev/input, if you’re using Angstrom it’s probably touchscreen0 not ts..in which case try:

    export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0

    Also run ts_calibrate.

    Hope that helps! Doug

  23. I have ts_test and ts_calibrate working correctly. Without specifying QWS_MOUSE_PROTO and running QT demo mousecalibration the touchscreen works (but is not calibrated) when I set export QWS_MOUSE_PROTO=tslib:/dev/input/ts (/dev/input/ts is correct) the QT demo segfaults when I touch the touchscreen. Any ideas?

    I compiled QT 4.5.2 from Open embedded mini2440 git.

    1. Normally i just look for the ipks in the deploy folder and add them to the recipe if they don’t get built into the image when i specify a particular package. Have you looked at openembedded/recipes/base-image.bb? You can either edit this, or even better create a recipe which inherits this file and add your extra packages in there.

  24. @Doug
    No go. Did find my problem though. Something with tslib. Compiled my own and manually installed the lib’s and it works fine.

    Any thoughts on what might be wrong with the OE libts? it appears to be the same, compiled the same args, etc.

  25. I tried to compile sample float operation code in mini2440

    main()
    {
    float a,b,c;
    int a1;
    float d;
    a=4.3;
    b=3.2;
    c=a+b;
    a1=(int)c;
    d=(float)a1+c;
    printf(“%f”,c);
    }

    And saved this file as float.c

    my compilation procedure:

    /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t -O0 float.c -o float_test_softfloat.elf

    When i run this code in mini2440 i got the error “Illegal instruction”

    Please guide me to solve this problem

    Thanks and regards,
    Ananth

  26. Allan :
    @Doug
    No go. Did find my problem though. Something with tslib. Compiled my own and manually installed the lib’s and it works fine.
    Any thoughts on what might be wrong with the OE libts? it appears to be the same, compiled the same args, etc.

    Dear Friends,
    I am suffering same problem with allan. my ts_calibrate works fine , but qtdemo is not working truely. My mouse pointer is moving wrong way, when I slide to X axis , It goes Y, When I slide to Y axis , It slides to X

    I will be appritiated ,If you tell me some clues.

  27. I also add some information, I also compiled tslib manuelly , and also I created rootfs with base image , but it is still is not working.

  28. export EDITOR=’/bin/vi’
    export HOME=’/home/root’
    export LOGNAME=’root’
    export OPIEDIR
    export PATH=’/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin’
    export PS1=’u@h:w$ ‘
    export PWD=’/home/root’
    export QPEDIR
    export QTDIR
    export SHELL=’/bin/sh’
    export TERM=’linux’
    export TSLIB_TSDEVICE=’/dev/input/touchscreen0′
    export TS_CALIBFILE=’/etc/pointercal’
    export TZ=’UTC’
    export USER=’root’

    These are my exports on rootfs. But it is stil not working truely, I cannot understand what is the problem. If I add this,
    export QWS_MOUSE_PROTO=”tslib:/dev/input/touchscreen0″
    qt applications are not sensing ts events, it is like freezing

  29. anafor :
    If I add this,
    export QWS_MOUSE_PROTO=”tslib:/dev/input/touchscreen0″
    qt applications are not sensing ts events, it is like freezing

    That is your real problem. Unless you setup qt to use tslib and the proper device it will act as you describe.

    Are you sure you have the right device? Otherwise its similar to the problem I was having with a bad tslib. (manually cross compiled and copied libs over)

    Does ts_test work for you?

  30. Infact I manually compiled tslib and copied to rootfs, but The Tslib acts by the same way. I tried ts_test and it is working very good. May be the problem is because of Qt configuration, because I created rootfs by openembedded, and I checked .bb files and I couldnt see any -qt-mouse-tslib flags, so I tried to build Qt embedded manually with -qt-mouse-tslib flag but it gives a warning tslib couldnt pass the test, this tslib which is I build manually.

    Can you explain me tslib manually building , Did you get any errors ?

  31. Hi!
    I’m looking for help with the cross-compiling. It finishes succesfully but I’m unable to run a demo application in my mini2440v2 board. I’m always getting a “Segmentation fault” and I don’t know the reason (sorry but I also don’t know how to find the reason of that error).
    I’ve also tried to follow these instructions (http://www.developmentboard.net/index.php/article/Creating+Qt4+project+with+bitbake+for+Mini2440V2) but the result has been the same.

    I hope anybody could help. Thanks!

  32. Hello All,

    I turned on the switch “-v” and the error message “….bin/qmake: 1: Syntax
    error: word unexpected (expecting “)”) ” is reported for the following:

    floatmath auto-detection… ()


    floatmath disabled.
    mmx auto-detection… ()


    mmx disabled.
    3dnow auto-detection… ()


    3dnow disabled.
    sse auto-detection… ()


    sse disabled.
    sse2 auto-detection… ()


    sse2 disabled.
    neon auto-detection… ()


    neon disabled.
    libjpeg auto-detection… ()


    libjpeg disabled.
    libtiff auto-detection… ()


    libtiff disabled.
    libmng auto-detection… ()


    libmng disabled.
    libpng auto-detection… ()


    libpng disabled.
    DB2 auto-detection… ()


    DB2 disabled.
    InterBase auto-detection… ()


    InterBase disabled.
    MySQL (thread-safe) auto-detection… ()


    MySQL (thread-safe) disabled.
    MySQL (thread-unsafe) auto-detection… ()


    MySQL (thread-unsafe) disabled.
    OCI auto-detection… ()


    OCI disabled.
    ODBC auto-detection… ()


    ODBC disabled.
    iODBC auto-detection… ()


    iODBC disabled.
    PostgreSQL auto-detection… ()


    PostgreSQL disabled.
    SQLite2 auto-detection… ()


    SQLite2 disabled.
    unknown SQL driver: sqlite_symbian
    TDS auto-detection… ()


    TDS disabled.
    NIS auto-detection… ()


    NIS disabled.
    Cups auto-detection… ()


    Cups disabled.
    D-Bus auto-detection… ()


    D-Bus disabled.
    EGL (EGL/egl.h) auto-detection… ()


    EGL (EGL/egl.h) disabled.
    EGL (GLES/egl.h) auto-detection… ()


    EGL (GLES/egl.h) disabled.
    Glib auto-detection… ()


    Glib disabled.
    tslib auto-detection… ()


    tslib disabled.
    The tslib functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR and QMAKE_LIBDIR in
    /home/mike/qt-everywhere-opensource-src-4.7.0-tp/mkspecs/qws/linux-arm-gnueabi-
    g++.

    Please help, any input is welcome.

    Note: This error message is reported on Ubuntu 9.10 and 10.04 with
    arm-none-linux-gnueabi-g++ or arm-angstrom-linux-gnueabi-g++

    Thanks,

    flux000

  33. Hello All,

    I was able to find my own solution to the above issue….

    In qmake.conf file add the option ‘-ffast-math’ as shown below to enable the floatmath (floatmath enabled). As for the other msges, just disable those components through your configuration options (e.g. -no-mmx -no-3dnow and so on) or just leave those options out and qt 4.x will compile.

    QMAKE_CXX = arm-angstrom-linux-gnueabi-g++ -ffast-math

    Also, to solve the The tslib functionality test failed, just add the following to qmake.conf prior to “load(qt_config)”.

    QMAKE_INCDIR = “Path to your tslib include directory”
    QMAKE_LIBDIR = “Path to your tslib lib directory”

    Note: Do not export “QMAKE_CC=arm-angstrom-linux-gnueabi-gcc” to your environment and so on. The only export you need in your environment is “QWS_MOUSE_PROTO=Tslib:/dev/input/mouse0”

    Hope this helps, cause this is what worked for me.

    Regards,

    flux000

  34. Hello All,

    When a Qt application (e.g fluidlauncher) is started and i touch the screen, sometimes application in the background or desktop is activated. Is there a way to prevent the background apps from activating when running Qt application?

    My environment variables are shown below. I am using u-boot and GPE.

    export TSLIB_TSEVENTTYPE=INPUT
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_TSDEVICE=/dev/input/touchscreen0
    export TSLIB_CALIBFILE=/usr/local/tslib/etc/pointercal
    export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
    export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0

    Thanks,

    flux000

  35. step 1 – tool chain is “arm-2008q3.tar.gz”. is extracted to : /usr/local/arm-2008q3

    step2 – “qt-everywhere-opesource-src-4.6.2.tar.gz” is extracted in my download directory.

    step3 – i have changed the : “qt-everywhere-opesource-src-4.6.2/mkspecs/qws/linux-arm9-g++/qmake.conf” file contents to arm-none-linux-gnueabi-gcc,g++,ar,abjcopy,strip all files changed.

    step4 – in terminal at “qt-everywhere-opesource-src-4.6.2″ directory i have given the command –

    ./configure -opensource -confirm-license -prefix /opt/qt-arm -no-qt3support -embedded arm -little-endian -xplatform qws/linux-arm9-g++ -qtlibinfix E

    (as ur ./configure not worked for me i hav given the above one)

    step 5 – make

    step 6 – sudo make install

    step 7 – wat to do i dont no….

    but wat i did was..

    created a new proejct in my system n i set the qmake path which is in “/opt/qt-arm”.

    and build

    n copied the files to my device n ran command ./proejctname -qws

    now everything worked fine…

    The thing is only examples projects under folder “qt-everywhere-opesource-src-4.6.2″ are working fine in my device.

    where as the normal project which is created n built by me were not running in the device.
    wat may b d prob ?

    any help ?

    ################################################
    another doubt is the qmake which is created through toolchain is shown in qt-tools-qtversion then i am gettign the above error as in my previous post is

    –> in my system itself when i show qt version qmake file it’s saying “the default mkspec symlink is broken”
    ################################################

  36. If you’ve cross compiled the examples and they run fine on the target it seems highly likely you need to change something in your project, but without seeing it i can’t help.

Leave a Reply

Your email address will not be published. Required fields are marked *