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.0k 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.
  • 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
                                        • S Offline
                                          S Offline
                                          Serg
                                          wrote on last edited by
                                          #29

                                          So, now cross-compiler works fine? And your test-program is running correctly on arm system?

                                          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