Qt World Summit: Register Today!

Qt Embedded Development on Mac OS X?

  • I spent a great deal of time compiling the CodeSourcery g++ toolchain to run natively on Mac OS X. This toolchain targets the ARM architecture.

    Now I would like to cross compile Qt/Embedded with the toolchain. The idea is to develop for embedded Linux but not use the not-so-nice Linux desktop environments.

    I am getting tons of errors. It looks like I have to hack the configure script together with the mkspecs. Does anyone want to help me do this? I can make the toolchain available to public.

    Here is the toolchain:

    Indigo:bin r2d2$ ./arm-none-linux-gnueabi-g++ -v
    Using built-in specs.
    Target: arm-none-linux-gnueabi
    Configured with: /Volumes/arm-linux-scratch/src/gcc-4.4/configure --build=x86_64-apple-darwin --host=x86_64-apple-darwin --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='ARMx 2009q3-67' --disable-nls --prefix=/Volumes/arm-x --with-sysroot=/Volumes/arm-x/arm-none-linux-gnueabi/libc --with-build-sysroot=/Volumes/arm-linux-scratch/install/arm-none-linux-gnueabi/libc --with-gmp=/Volumes/arm-linux-scratch/obj/host-libs-2009q3/usr --with-mpfr=/Volumes/arm-linux-scratch/obj/host-libs-2009q3/usr --with-ppl=/Volumes/arm-linux-scratch/obj/host-libs-2009q3/usr --with-host-libstdcxx=-Wl,-lstdc++-static,-lm --with-cloog=/Volumes/arm-linux-scratch/obj/host-libs-2009q3/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/Volumes/arm-linux-scratch/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/Volumes/arm-linux-scratch/install/arm-none-linux-gnueabi/bin
    Thread model: posix
    gcc version 4.4.1 (ARMx 2009q3-67)

  • Sorry, I'm not quite understanding. You recompiled the Codesourcery toolchain and want to cross-compile for arm on you mac os. But, did you write the spec file? What does the configure say?

  • If you are going to develop for an embedded linux target you need a lot more then just Qt cross compiled. You can use something like Open Embedded, PTxdist or LTIB to build your root file system which would handle building Qt. Most of these tools allow you to select different toolchains.

    As for the using the Mac - I can appreciate the desire to use the Mac since I am a Mac user myself but as you have seen that will prove difficult to manage. I suggest using VMware or Virtual Box and installing one of those "not so nice linux desktops" for embedded development.

  • If the root filesystem is already given, why would he need Open Embedded or anything similar? If the root filesystem is already given, along with the correct toolchain, compiling Qt should be sufficient.

Log in to reply