Question

As you know, the major source for downloading QT is http://qt-project.org/downloads.

Before Qt 5.0, there was a link for Qt for Embedded Linux, for example: qt-everywhere-opensource-src-4.8.5.tar.gz

I assumed it's somehow a replacement for Qtopia. Also, I assumed the 'everywhere' means 'embedded'. Are my assumptions correct?

If my assumptions are right, is it OK to use the above everywhere version instead of old Qtopia?

another problem is: I configured the Qtopia to build libraries statically (using default -shared) then I built it and installed it successfully.

Now I at host computer I have Qtopia 4.3.5 embedded ARM software at the following default path: /usr/local/Trolltech/QtopiaCore4.3.5embedded-arm

Q: Why there are no designer program at /bin directory.

I just have the following binaries: moc, qmake, rcc, uic then I wrote a typical hello world Qt with QApplication and QLabel classes:

    #include <QApplication>
    #include <QLabel>

    int main(argc, char* argv[])
    {
       QApplication app(argc, argv);
       QLabel Hello("Hello");
       Hello.show();
       return app.exec();  
    }

I compiled this code with newly installed qmake and it's totally OK. If the name of binary is qt_hello, I have the following output:

# file qt_hello

ELF 32-bit LSB executable, ARM, version 1(SYSV), dynamically linked (use shared libs), for GNU/Linux 2.6.32, not stripped

Now, when I port the binary to ARM embedded device board (using flash disk USB), and run it, I have the following output:

# ./qt_hello error while loading shared libraries: libQtGui.so.4: cannot open shared object file: no such file or directory.

based on error message, I guess, I should configure tries to configure Qtopia again with -static option. I used the following command: ./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 16,3 -nomake examples
-nomake tests -static
after a couple of hours, the software was configured, built and installed successfully, after qmaking my hello program, unfortunately it's linked shared and I had above errors on ARM embedded device?

Am I miss something? Please shed some light.

FYI, the Qtopia4.6.3 is installed on the ARM Embedded device

-- Saeed Amrollahi Boyouki

Was it helpful?

Solution

You seem to be mixing two radically different things in here:

  • Very old Qtopia

  • Old 4.8.5

As suggested in your other thread, using 5.2.0 would be more adequate a task for this. That being said, let me reply to your questions:

If my assumptions are right, is it OK to use the above everywhere version instead of old Qtopia?

Yes, that is right.

Q: Why there are no designer program at /bin directory.

I think you have to install that separately from the Qt libraries, just like QtCreator.

./qt_hello error while loading shared libraries: libQtGui.so.4: cannot open shared object file: no such file or directory.

It means you do not have the qt gui dynamic library on your embedded board in the library path which is the system-wide by default where Qt is usually installed.

after a couple of hours, the software was configured, built and installed successfully, after qmaking my hello program, unfortunately it's linked shared and I had above errors on ARM embedded device? Am I miss something? Please shed some light.

I think you forgot to link against the Qt library statically. For instance, try to specify the static library explicitly in your project's qmake project file as follows:

LIBS += libQtGui.a # cannot recall the name correctly, but it is easy to check
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top