Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Compiling QT libs with non-default gcc
Forum Updated to NodeBB v4.3 + New Features

Compiling QT libs with non-default gcc

Scheduled Pinned Locked Moved Qt Creator and other tools
6 Posts 3 Posters 3.1k 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.
  • Z Offline
    Z Offline
    zvivered
    wrote on last edited by
    #1

    Dear members,

    I downloaded and extracted qt-everywhere-opensource-src-4.8.3.tar.gz.
    Using configure (or another way) I want to compile the QTlibs with another gcc located in /opt
    This is not the default gcc that comes with Centos (5.5)

    Can you help ?

    Thanks,
    Zvika

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      Adjust mkspecs (or better, create your own by copying, say, linux-g++), so that it uses a different compiler. Then you need to configure Qt with -platform <your new mkspecs>. I don't actually remember if it works, but at least is worth a try.

      (Z(:^

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tobias.hunger
        wrote on last edited by
        #3

        If your gcc in /opt is called "gcc", "g++" etc. then you can just make sure /opt/whatever/bin is in your PATH before /usr/bin and this should work. Run "gcc --version" (or was that "gcc -v", can't remember :) and check that you get the expected version number back to make sure the right compiler is picked up.

        I would also check the generated Makefiles before building for the first time. Some mkspec put the absolute path to the compiler into those and will thus ignore your PATH setup.

        1 Reply Last reply
        0
        • Z Offline
          Z Offline
          zvivered
          wrote on last edited by
          #4

          Dear Members,

          I created a new folder under mkspecs copied from linux-g++-32
          Then I changed g++,gcc to i686-nptl-linux-gnu-gcc,i686-nptl-linux-gnu-g++
          I also set:
          QMAKE_LIBDIR =
          QMAKE_INCDIR_X11 =
          QMAKE_LIBDIR_X11 =

          I ran:
          ./configure -opensource -platform i686-nptl-linux-gnu -embedded -host-little-endian -fast -no-accessibility -no-stl -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-declarative -no-declarative-debug -no-gif -qt-zlib -no-libtiff -no-libpng -no-libmng -no-libjpeg -no-openssl -no-gui -no-nis -no-cups -no-iconv -no-dbus -no-gtkstyle -no-nas-sound -no-opengl -no-openvg -no-sm -no-xshape -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-mitshm -no-fontconfig -no-xinput -no-xkb -no-glib

          After a while I got the following error:

          gmake[1]: Entering directory /home/zvivered/qt-everywhere-opensource-src-4.7.4/translations' /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/qmake -spec ../mkspecs/qws/linux-x86-g++ -o Makefile translations.pro gmake[1]: Leaving directory /home/zvivered/qt-everywhere-opensource-src-4.7.4/translations'
          gmake[1]: Entering directory /home/zvivered/qt-everywhere-opensource-src-4.7.4/translations' /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease assistant_cs.ts -qm assistant_cs.qm /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found (required by /home/zvivered/qt-everywhere-opensource-src-4.7.4/bin/lrelease)
          gmake[1]: *** [assistant_cs.qm] Error 1
          gmake[1]: Leaving directory `/home/zvivered/qt-everywhere-opensource-src-4.7.4/translations'
          gmake: *** [sub-translations-make_default-ordered] Error 2
          [

          Why does the make files searches: /usr/lib/libstdc++.so.6 ?
          In my directory under mkspec (called i686-nptl-linux-gnu) there is no: /usr/lib

          You help is highly appreciated !
          Thanks,
          Zvika

          1 Reply Last reply
          0
          • Z Offline
            Z Offline
            zvivered
            wrote on last edited by
            #5

            Dear Members,

            I think I had to set:
            LD_LIBRARY_PATH to point to where my gcc's dynamic libraries are located.

            Now I'm getting:
            /home/zvivered/ct-ng-1.5.2/release/i686-nptl-linux-gnu/sys-root/lib/librt.so.1: undefined reference to `__fortify_fail@GLIBC_PRIVATE'
            collect2: ld returned 1 exit status
            gmake[3]: *** [download] Error 1

            "My" glibc is 2.9
            Can I link QT 4.7.4 with this glibc ?

            Thanks,
            Zvika

            1 Reply Last reply
            0
            • Z Offline
              Z Offline
              zvivered
              wrote on last edited by
              #6

              Hello,

              I created a toolchain with glib 2.5
              With this glib I did not get the unresolved error: "undefined reference to `__fortify_fail@GLIBC_PRIVATE’"

              Upon configure start I got the following message:
              @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@

              Where should I usg pkg-config ?

              Thanks,
              Zvika

              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