Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. How to run QT application on X-window of the embedded platform
Forum Updated to NodeBB v4.3 + New Features

How to run QT application on X-window of the embedded platform

Scheduled Pinned Locked Moved Mobile and Embedded
32 Posts 4 Posters 33.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    uniquez
    wrote on last edited by
    #9

    Sorry to reply later beacause I was busy for other things these days.

    [quote author="Serg" date="1337231425"]You should use qmake for target platform (that runs on x86, but produces output for arm), not native qmake.[/quote]

    I think "qmake" is a tool used for generating Makefile, so it runs on x86, and produces output(Makefile) for X86 not for arm. Is that true?

    By the way, I find an other way to get qt-lib for X11 based arm. I link the system with internet, and use “apt-get instal libqt4-dev”, then the ubuntu can download qt-lib for arm. However, when I run a QT test-program(compiled linking downloaded QT-lib) on my system, the program can output a window, but have an error:"undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent". Can you tell me what wrong about this way to get QT-lib and run QT-program.

    Thanks for your warm-heart again!!!

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Serg
      wrote on last edited by
      #10

      bq. I think “qmake” is a tool used for generating Makefile, so it runs on x86, and produces output(Makefile) for X86 not for arm. Is that true?

      The qmake tool requires a platform and compiler specific qmake.conf file describing the various default values, to generate the appropriate Makefiles. You should use correct qmake.conf file.

      bq. However, when I run a QT test-program(compiled linking downloaded QT-lib) on my system, the program can output a window, but have an error:“undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent”. Can you tell me what wrong about this way to get QT-lib and run QT-program.

      Looks like your program uses QWidget::qwsEvent(), that is not available in non-embedded linux environments. "Check this thread":http://qt-project.org/forums/viewthread/3043 .

      1 Reply Last reply
      0
      • U Offline
        U Offline
        uniquez
        wrote on last edited by
        #11

        The second question.
        My test program can run on Ubuntu on my PC, which is non-embendded linux environment too. And I am sure my test program (just a MainWindow) not using QWidget::qwsEvent()。

        1 Reply Last reply
        0
        • U Offline
          U Offline
          uniquez
          wrote on last edited by
          #12

          The first question.
          When I use "./configure -xplatform linux-arm-gnueabi-g++ "to configure, there is no error about "/home/xushaofan/qt_4.8.1_pkg/qt-x11-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting “)”)", but it generate an error:

          "Basic XLib functionality test failed!
          You might need to modify the include and library search paths by editing
          QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/mkspecs/linux-arm-gnueabi-g++."

          I find the variables of QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 is in the /mkspecs/common/linux.conf, and I change the variables to XLib's path, but this error remain.

          How to solve this problem?

          1 Reply Last reply
          0
          • S Offline
            S Offline
            Serg
            wrote on last edited by
            #13

            qt-everywhere-opensource-src-x.y.z/mkspecs directory used for (cross) compiling Qt for various targets.
            qt-everywhere-opensource-src-x.y.z/mkspecs/qws directory used for (cross) compiling Qt embedded for various targets.

            So, I checked "mkspecs directory":http://qt.gitorious.org/qt/qt/trees/4.8/mkspecs and found a mistake.

            bq. I’m not sure, but I think it will be correct: “./configure -platform arm-none-linux-gnueabi-g++”.

            Correct is: "./configure -platform linux-arm-gnueabi-g++".

            1 Reply Last reply
            0
            • U Offline
              U Offline
              uniquez
              wrote on last edited by
              #14

              Correct is: “./configure -platform linux-arm-gnueabi-g++”.

              But in /mkspecs directory, there is no folder of "linux-arm-gnueabi-g++",and my qt opensource's version is 4.8.1. So I just copied /mkspecs/qws/linux-arm-gnueabi-g++ to /mkspecs. I think what I did is not true, but I dont know how to get linux-arm-gnueabi-g++ in /mkspecs.

              1 Reply Last reply
              0
              • S Offline
                S Offline
                Serg
                wrote on last edited by
                #15

                About second question.
                Your qt test program was built on arm system as a native program? Can you show ldd output?

                bq. But in /mkspecs directory, there is no folder of “linux-arm-gnueabi-g++”,and my qt opensource’s version is 4.8.1. So I just copied /mkspecs/qws/linux-arm-gnueabi-g++ to /mkspecs. I think what I did is not true, but I dont know how to get linux-arm-gnueabi-g++ in /mkspecs.

                Copy it from qt.gitorious, Are you checked the link "mkspecs directory":http://qt.gitorious.org/qt/qt/trees/4.8/mkspecs ?

                1 Reply Last reply
                0
                • U Offline
                  U Offline
                  uniquez
                  wrote on last edited by
                  #16

                  My cross compiler is arm-none-linux-gnueabi-g++ not linux-arm-gnueabi-g++.

                  I copy the folder of linux-arm-gnueabi-g++ from qt.gitorious to /mkspecs, and I replace "linux-arm-gnueabi-g++" for "arm-none-linux-gnueabi-g++ ". Then I configure "./configure -platform linux-arm-gnueabi-g++",there is two errors:

                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/bin/qmake: 1: Syntax error: word unexpected (expecting ")")
                  Basic XLib functionality test failed!
                  You might need to modify the include and library search paths by editing
                  QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/mkspecs/linux-arm-gnueabi-g++.

                  But if I configure "./configure -xplatform linux-arm-gnueabi-g++" after clean configure, there just an error:

                  Basic XLib functionality test failed!
                  You might need to modify the include and library search paths by editing
                  QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/mkspecs/linux-arm-gnueabi-g++.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    Serg
                    wrote on last edited by
                    #17

                    So, there are two ways:

                    1. Write your own mkspec for arm-none-linux-gnueabi-g++ compiler (or find in google). Then ./configure -arch arm -xplatform arm-none-linux-gnueabi-g++;
                    2. "sudo apt-get install g++-arm-linux-gnueabi" and try to use mkspec from qt.gitorius. Then ./configure -arch arm -xplatform linux-arm-gnueabi-g++.

                    bq. Basic XLib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11

                    You need to specify X11 include files and libraries, arm libs!

                    1 Reply Last reply
                    0
                    • U Offline
                      U Offline
                      uniquez
                      wrote on last edited by
                      #18

                      You need to specify X11 include files and libraries, arm libs!

                      ================================

                      I have specified X11 include files and libraries(for arm)' path by modifing linux.conf in /mkspecs/common, but the error remain. Is it right?

                      It is too later tonight, I will compile QT-lib following what you said tomorrow.
                      Anyway, thank you help me again and again.

                      1 Reply Last reply
                      0
                      • U Offline
                        U Offline
                        uniquez
                        wrote on last edited by
                        #19

                        By the way, the X11 include files and libraries are provided in filesytems by TI ezsdk.

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          Serg
                          wrote on last edited by
                          #20

                          bq. I have specified X11 include files and libraries(for arm)’ path by modifing linux.conf in /mkspecs/common, but the error remain. Is it right?

                          I'm think it's right.

                          This error can be when libXext is missed.
                          Here is "Qt for X11 requirements":http://qt-project.org/doc/qt-4.8/requirements-x11.html. Ensure that you have all required libs.

                          1 Reply Last reply
                          0
                          • U Offline
                            U Offline
                            uniquez
                            wrote on last edited by
                            #21

                            One more question, when I configure my QT-lib compiling using "./configure -xplatform linux-arm-gnueabi-g++",
                            it outputs "You have not explicitly asked to use pkg-config and are cross-compiling.
                            pkg-config will not be used to automatically query cflag/lib parameters for
                            dependencies"
                            But when I use "./configure", there is no that message.

                            Although it is not en error, I think something is not configured right.

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Serg
                              wrote on last edited by
                              #22

                              Try it: ./configure -arch arm -xplatform linux-arm-gnueabi-g++ -force-pkg-config

                              1 Reply Last reply
                              0
                              • U Offline
                                U Offline
                                uniquez
                                wrote on last edited by
                                #23

                                After I modified "QMAKE_LIBS_X11 = -lXext -lX11 -lm -lxcb -lpthread-stubs -lXau -lXdmcp " in /mkspecs/common/linux.conf,
                                now I can configure successfully by using "./configure -arch arm -xplatform linux-arm-gnueabi-g++ -force-pkg-config".

                                However, after I "make", there are some errors:

                                arm-none-linux-gnueabi-g++ -Wl,-rpath-link,/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.8.1/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.8.1/lib -o rsslisting .obj/release-shared/main.o .obj/release-shared/rsslisting.o .obj/release-shared/moc_rsslisting.o -L/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -lQtXml -L/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -lQtGui -L/opt/ezsdk_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/usr/lib -lQtNetwork -lQtCore -lpthread
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libXrender.so.1, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libXext.so.6, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libX11.so.6, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libxcb.so.1, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libpthread-stubs.so.0, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libXau.so.6, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libXdmcp.so.6, needed by /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
                                /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetTile' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XReparentWindow'
                                /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetIMValues' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XConvertSelection'
                                /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetFillStyle' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XUnsetICFocus'
                                /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to `XQueryColors'

                                1 Reply Last reply
                                0
                                • U Offline
                                  U Offline
                                  uniquez
                                  wrote on last edited by
                                  #24

                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XTranslateCoordinates' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XDeleteProperty'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetWMColormapWindows' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XVisualIDFromVisual'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetICFocus' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XMaxRequestSize'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetErrorDatabaseText' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XUngrabButton'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XOpenIM' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetInputFocus'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XCheckTypedEvent' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XDefineCursor'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetFunction' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XKillClient'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRenderCreatePicture' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XVaCreateNestedList'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetFontPath' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XShapeCombineRegion'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetClipRectangles' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetWindowAttributes'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRemoveFromSaveSet' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGrabButton'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetKeyboardMapping' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XFreePixmap'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XLoadQueryFont' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XFillPolygon'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XUnionRectWithRegion' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSyncDestroyCounter'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XmbTextPropertyToTextList' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRenderCreateCursor'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetSelectionOwner' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XCloseDisplay'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSync' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetAtomName'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XCheckIfEvent' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XPutImage'
                                  /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XDrawString16' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XListPixmapFormats'
                                  collect2: ld returned 1 exit status
                                  make[3]: *** [rsslisting] Error 1
                                  make[3]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples/xml/rsslisting' make[2]: *** [sub-rsslisting-make_default] Error 2 make[2]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples/xml'
                                  make[1]: *** [sub-xml-make_default] Error 2
                                  make[1]: Leaving directory `/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples'
                                  make: *** [sub-examples-make_default-ordered] Error 2

                                  Can you tell me how to eliminate these error?

                                  1 Reply Last reply
                                  0
                                  • U Offline
                                    U Offline
                                    uniquez
                                    wrote on last edited by
                                    #25

                                    When I make again by configuring " ./configure -arch arm -xplatform arm-none-linux-gnueabi-g++ -release -force-pkg-config"
                                    There is an other error:

                                    arm-none-linux-gnueabi-g++ -Wl,-rpath-link,/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -Wl,-O1 -Wl,-rpath,/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.8.1/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.8.1/lib -o tst_qdeclarativewebview .obj/release-shared/tst_qdeclarativewebview.o .obj/release-shared/qrc_tst_qdeclarativewebview.o -L/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -L/opt/ezsdk_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/usr/lib -L/home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib -lQtDeclarative -lQtScript -lQtSvg -L/opt/ezsdk_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/usr/lib -lQtSql -lQtXmlPatterns -lQtWebKit -lQtTest -lQtGui -lQtNetwork -lQtCore -lpthread -lXrender -lXext -lX11 -lm -lxcb -lpthread-stubs -lXau -lXdmcp
                                    /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtCore.so: undefined reference to QInotifyFileSystemWatcherEngine::create()' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtCore.so: undefined reference to clock_gettime'
                                    /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtCore.so: undefined reference to QDnotifyFileSystemWatcherEngine::create()' collect2: ld returned 1 exit status make[3]: *** [tst_qdeclarativewebview] Error 1 make[3]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview'
                                    make[2]: *** [sub-qdeclarativewebview-make_default] Error 2

                                    there are many more "undefined reference to" variables, why?

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      Serg
                                      wrote on last edited by
                                      #26

                                      Are you sure that path to arm X11 libraries is correct (in linux.conf QMAKE_LIBDIR_X11 and QMAKE_INCDIR_X11) and X11 version is X11R6? If it's true, then i can suppose that arm-none-linux-gnueabi-g++ and linux-arm-gnueabi-g++ have a different binary format and ld can't link it. If i'm right, you should use one compiler for X11 libs and Qt. It means that you should use linux-arm-gnueabi-g++ rather than arm-none-linux-gnueabi-g++, because it's compiler from Ubuntu repository and you are compiling for Ubuntu.

                                      But I didn't have any problems like this. So, I don't know what exactly you should do in this case :(

                                      1 Reply Last reply
                                      0
                                      • U Offline
                                        U Offline
                                        uniquez
                                        wrote on last edited by
                                        #27
                                        1. “sudo apt-get install g++-arm-linux-gnueabi” and try to use mkspec from qt.gitorius. Then ./configure -arch arm -xplatform linux-arm-gnueabi-g++.

                                        ===============================================
                                        Today I followed the second method to apt-get install g++-arm-linux-gnueabi and make my QT-lib,and those errors still exist.

                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XDefineCursor' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetFunction'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XKillClient' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRenderCreatePicture'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XVaCreateNestedList' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetFontPath'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XShapeCombineRegion' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSetClipRectangles'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to SmcOpenConnection' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetWindowAttributes'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRemoveFromSaveSet' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGrabButton'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetKeyboardMapping' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XFreePixmap'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XLoadQueryFont' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XFillPolygon'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to SmcSaveYourselfDone' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XUnionRectWithRegion'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSyncDestroyCounter' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XmbTextPropertyToTextList'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XRenderCreateCursor' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetSelectionOwner'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XCloseDisplay' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XSync'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XGetAtomName' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XCheckIfEvent'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XPutImage' /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XDrawString16'
                                        /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/lib/libQtGui.so: undefined reference to XListPixmapFormats' collect2: ld returned 1 exit status make[3]: *** [saxbookmarks] Error 1 make[3]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples/xml/saxbookmarks'
                                        make[2]: *** [sub-saxbookmarks-make_default] Error 2
                                        make[2]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples/xml' make[1]: *** [sub-xml-make_default] Error 2 make[1]: Leaving directory /home/xushaofan/qt_4.8.1_pkg/qt-everywhere-opensource-src-4.8.1/examples'
                                        make: *** [sub-examples-make_default-ordered] Error 2

                                        ==============================
                                        And I am sure my arm X11 libraries is correct. Because in /qt-everywhere-opensource-src-4.8.1/config.tests/x11/xlib, I use "arm-linux-gnueabi-g++ -o xlib xlib.cpp -I/opt/ezsdk/linux-devkit/arm-none-linux-gnueabi/usr/include -L/opt/ezsdk/linux-devkit/arm-none-linux-gnueabi/usr/lib -lXext -lX11 -lm -lxcb -lpthread-stubs -lXau -lXdmcp"
                                        and "arm-none-linux-gnueabi-g++ -o xlib xlib.cpp -I/opt/ezsdk/linux-devkit/arm-none-linux-gnueabi/usr/include -L/opt/ezsdk/linux-devkit/arm-none-linux-gnueabi/usr/lib -lXext -lX11 -lm -lxcb -lpthread-stubs -lXau -lXdmcp"
                                        to compile xlib. Both successfully.

                                        Bye the way, the X11 libraries' directory is under the /arm-none-linux-gnueabi/usr/lib in filesystem, so I think the X11 libraries is compiled by arm-none-linux-gnueabi. However, Whether I use "arm-none-linux-gnueabi-g++" or "linux-arm-gnueabi-g++" to make my QT-lib, those “ undefined reference to” error still exist.

                                        1 Reply Last reply
                                        0
                                        • U Offline
                                          U Offline
                                          uniquez
                                          wrote on last edited by
                                          #28

                                          [quote author="Serg" date="1337702523"]Are you sure that path to arm X11 libraries is correct (in linux.conf QMAKE_LIBDIR_X11 and QMAKE_INCDIR_X11) and X11 version is X11R6? If it's true, then i can suppose that arm-none-linux-gnueabi-g++ and linux-arm-gnueabi-g++ have a different binary format and ld can't link it. If i'm right, you should use one compiler for X11 libs and Qt. It means that you should use linux-arm-gnueabi-g++ rather than arm-none-linux-gnueabi-g++, because it's compiler from Ubuntu repository and you are compiling for Ubuntu.

                                          But I didn't have any problems like this. So, I don't know what exactly you should do in this case :([/quote]

                                          Sorry for reply later. Last Thursday, I had copiled QT-LIB for Ubuntu based DM8148 successfully.

                                          Above these errors, I made two mistakes about X11-LIB.

                                          1. I wrote my own mkspec for arm-none-linux-gnueabi-g++ compiler, and I named it "arm-none-linux-gnueabi-g++" not "linux-", so when I make, there is an error: /lib/libQtCore.so: undefined reference to `QDnotifyFileSystemWatcherEngine::create()’
                                            Because When creating the mkspec for a embedded target if the name of the directory does not match "linux-*" then the following build error will be seen.

                                          The resolution is :
                                          edit ./src/corelib/io/io.pri
                                          find linux-*:
                                          append your cross-toolchain's prefix after it

                                          eg:
                                          my toolchains's prefix is arm_xxxxx
                                          so....
                                          68 linux-|arm:{
                                          69 SOURCES +=
                                          70 io/qfilesystemwatcher_inotify.cpp
                                          71 io/qfilesystemwatcher_dnotify.cpp
                                          72
                                          73 HEADERS +=
                                          74 io/qfilesystemwatcher_inotify_p.h
                                          75 io/qfilesystemwatcher_dnotify_p.h
                                          76 }

                                          ==================================================================

                                          1. /lib/libQtCore.so: undefined reference to `clock_gettime’:
                                            append "-lrt" parameters after the "./configure" so that the compiler can find the define in librt.

                                          ==================================================================

                                          1. “/lib/libQtGui.so: undefined reference to” about X11-lib
                                            I modified QMAKE_LIBDIR_X11, QMAKE_INCDIR_X11 and QMAKE_LIBS_X11 in /mkspec/common/linux.conf to specify X11 include files and libraries, arm libs. However the Makefile, which qmake generated, did not include X11-LIB in the “LIBS”. So when I compile the demos or examples of QT, there are many of "undefined reference to" errors about X11-LIB, then I append "-lXmu -lXft -lXt -lXcursor -lXrandr -lXrender -lXv -lXdamage -lXcomposite -lxcb-damage -lxcb-composite -lxcb-randr -lxcb-xv -lxcb-xvmc -lxcb-xprint -lxcb-xtest -lxcb-xfixes -lxcb-xinerama -lxcb-xevie -lxcb-xf86dri -lxcb-shape -lxcb-shm -lxcb-sync -lxcb-render -lxcb-res -lxcb-screensaver -lxcb-dpms -lxcb-dri2 -lxcb-record -lxcb-glx -lXfixes -lXext -lX11-xcb -lX11 -lxcb -lXau -lXdmcp -lfontconfig -lfreetype -lpthread-stubs -lexpat -lm -lz -lstdc++ -lglib-2.0 -lSM -lICE -luuid " after "LIBS =" in demos and examples' Makefiles which qmake generated, and it can compile successfully.

                                          But I have not find why my qmake not generate above of X11-LIB in Makefile. I am sure that "linux.conf" is modified correctly.

                                          ==============================================

                                          Anyway, I have transplanted QT-LIB to Ubuntu successfully, and I must thank you so much for your warm-heart and help me again and aigan!!! If there were no your guidance, I wound not complete it.

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved