PDA

View Full Version : What QT version is more suited



bogdanul2003
27th February 2015, 14:54
Hi,

I want to try to build QT for a openwrt based router with 8 or 16 MB of flash memory and 64 MB of ram memory. I know that there was one more topic similar to this but the answer was not that clear.
I would like to know what QT version would you recomand for those hardware limitations. My goal is to display some text information and provide a button and a slider for user interaction.

Thank you,
Bogdan

wysota
27th February 2015, 15:17
Where do you want to display those widgets?

bogdanul2003
27th February 2015, 15:37
I am planing to use a SPI TFT screen 240x320 16 bpp. I already configured framebuffer to work with this TFT so I would like QT to use framebuffer in order to display stuff.

wysota
27th February 2015, 16:49
Then you need either the latest version (5.x) or Qt for Embedded Linux (Qt3 or Qt4). However you won't do much with only 64MB of RAM.

bogdanul2003
27th February 2015, 17:00
How much RAM memory do you think I'll need for a button a slider and some text ? QT allows me to select what what widgets to compile and include in the final binary file? (I plan to compile it statically).

wysota
27th February 2015, 17:02
If you strip out everything you don't need then the resulting library should be quite small. However you will also need libraries other than Qt. I'm not sure you are going to fit it in 64MB and still keep the router functional (unless you don't care about the router itself). By the way, how do you intend to connect the display to the router?

bogdanul2003
27th February 2015, 17:26
I use the SPI pins of the flash memory and chip select pin that I could identify on the PCB board. I'll have to share the same SPI connection with the flash memory but that will not be a problem if I'll correctly use the chip select pins.
The router runs a custom openwrt image from which I removed some stuff that I don't need so I'll have as much room as possible for QT. The router will not be used for high data traffic, it is used to send some data from a few sensors once every 10 seconds and I would like to display that data on a screen also.
Correct if I'm wrong but as far as I read until now I need QTCore, QTGUI and qtWidgets modules?
I'll give it a shot these days and see what I can come up with.

wysota
27th February 2015, 17:31
You need QtCore, QtGui, QtWidgets and their dependencies (ICU, stdc++, gcc, glib, m) as well as dependencies of the plugins you want to use (freetype, fontconfig, EGL and so forth). Unless of course you intend to strip most of them out as well.

bogdanul2003
2nd March 2015, 20:46
ype 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.

o


This is the Qt Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.

Type '3' to view the GNU Lesser General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.

Do you accept the terms of either license? yes

Precompiled-headers support enabled.
mips-openwrt-linux-g++ -c -fvisibility=hidden fvisibility.c
Symbol visibility control enabled.
mips-openwrt-linux-g++ --sysroot=/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
#error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
^
Symbolic function binding disabled.
DEFAULT_INCDIRS="/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/include/c++/4.9.2
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/include/c++/4.9.2/mips-openwrt-linux-uclibc
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/include/c++/4.9.2/backward
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.9.2/include
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.9.2/include-fixed
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/sys-include
/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/mips-openwrt-linux-uclibc/include
/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/include
"
DEFAULT_LIBDIRS="/lib
/usr/lib"
Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
Found pkg-config from $PATH: /usr/bin/pkg-config
Note: PKG_CONFIG_LIBDIR automatically set to /home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/lib/pkgconfig:/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/share/pkgconfig:/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/lib/mips-openwrt-linux-uclibc/pkgconfig
Note: PKG_CONFIG_SYSROOT_DIR automatically set to /home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/
Determining architecture... ()
mips-openwrt-linux-g++ -c -Wall -Os -D_MIPS_SZPTR=32 --sysroot=/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/ -I. -I/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include -I/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/include -I../../mkspecs/devices/linux-openwrt-g++ -o arch.o arch.cpp
mips-openwrt-linux-g++ -o arch arch.o -L/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/lib -L/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/lib/ --sysroot=/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/
Found architecture in binary
CFG_CPUFEATURES=""
CFG_ARCH="mips"
Determining architecture... ()
make: Nothing to be done for `first'.
Found architecture in binary
CFG_HOST_CPUFEATURES=""
CFG_HOST_ARCH="mips"
System architecture: 'mips'
Host architecture: 'mips'
C++11 auto-detection... ()
Project WARNING: qmake spec does not announce the compiler family. Guessed gcc.
mips-openwrt-linux-g++ -c -Wall -Os -D_MIPS_SZPTR=32 --sysroot=/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/ -I. -I/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include -I/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/include -I../../../mkspecs/devices/linux-openwrt-g++ -o c++11.o c++11.cpp
c++11.cpp:37:4: error: #error "__cplusplus must be >= 201103L, or one of __GXX_EXPERIMENTAL_CXX0X__ or __INTEL_CXX11_MODE__ must be defined"
# error "__cplusplus must be >= 201103L, or one of __GXX_EXPERIMENTAL_CXX0X__ or __INTEL_CXX11_MODE__ must be defined"
^
make: *** [c++11.o] Error 1
C++11 disabled.
floatmath auto-detection... ()
Project WARNING: qmake spec does not announce the compiler family. Guessed gcc.
mips-openwrt-linux-g++ -o floatmath floatmath.o -L/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2//usr/lib -L/home/boil/Documents/opewrt/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.9-linaro_uClibc-0.9.33.2/lib/ --sysroot=/home/boil/Documents/opewrt/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/
floatmath enabled.
sse2 auto-detection... ()
Project WARNING: qmake spec does not announce the compiler family. Guessed gcc.
Project ERROR: This compiler does not support SSE2
sse2 disabled.

POSIX iconv auto-detection... ()



I'm trying to compile qt5.4.1 for another board and the configure gets stuck at POSIX iconv auto-detection... ()
Do you know why ?