Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Project ERROR: Could not find feature static.
QtWS25 Last Chance

Project ERROR: Could not find feature static.

Scheduled Pinned Locked Moved Unsolved General and Desktop
12 Posts 3 Posters 12.2k Views
  • 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
    Sajeevan K
    wrote on last edited by
    #1

    Hi,

    I am new to Qt.
    I am trying to just run example application, which is available with Qt installation.
    In the folder qt-everywhere-opensource-src-5.8.0/qtbase/examples/widgets/painting/basicdrawing, I tried to run

    qmake basicdrawing.pro.

    But it showing error - Project ERROR: Could not find feature static.

    Please provide suggestions for solving this problem.

    Thanks & Regards,
    Sajeevan.K

    jsulmJ 1 Reply Last reply
    0
    • S Sajeevan K

      Hi,

      I am new to Qt.
      I am trying to just run example application, which is available with Qt installation.
      In the folder qt-everywhere-opensource-src-5.8.0/qtbase/examples/widgets/painting/basicdrawing, I tried to run

      qmake basicdrawing.pro.

      But it showing error - Project ERROR: Could not find feature static.

      Please provide suggestions for solving this problem.

      Thanks & Regards,
      Sajeevan.K

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Sajeevan-K You can open an example project in QtCreator and build it there. It is easier especially if you're new to Qt.
      Also if you call qmake like this then you're maybe calling qmake from another Qt installation/version (if you have more than one).
      You can try to use an absolute path.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • S Offline
        S Offline
        Sajeevan K
        wrote on last edited by
        #3

        Hi Jsulm,

        Thank You for the reply. As You told there are two Qt installations in my system.

        1. One from source and with qmake file /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake
          This is for cross compilation for an Embedded Target board.

        2. The other installed from qt-sdk package with qmake /usr/lib/x86_64-linux-gnu/qt5/bin/qmake

        Now by using absolute path for the first qmake, I could compile some of the example applications successfully and deploy it in my embedded target board.
        Example: qt-everywhere-opensource-src-5.8.0/qtbase/examples/widgets/widgets/calculator

        But when I am trying to do the same thing for qt3d examples it is showing the "Unknown Module(s) in Qt" error as shown below.
        sajeevank@sajeevank-Vostro-3559:~/Downloads/qt-everywhere-opensource-src-5.8.0/qt3d/examples/qt3d/basicshapes-cpp$ /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake basicshapes-cpp.pro
        Project ERROR: Unknown module(s) in QT: 3dextras 3dcore 3drender 3dinput

        I tried both the ways You suggested and the result is as follows.
        By using Qt Creator
        Case1 - I selected Desktop in projects, the compiler /usr/bin/g++ and qmake is /usr/lib/x86_64-linux-gnu/qt5/bin/qmake

        Result: Compile Error. Showing the message:
        ../analogclock/analogclock.cpp:51:21: fatal error: QtWidgets: No such file or directory
        compilation terminated.

        To solve this issue, I used #include <QWidget> instead of #include <QtWidgets>

        and in .pro file
        QT += core gui
        greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

        added instead of
        QT += widgets

        Now it is compiled successfully. But running not working. (running symbol not getting in Green color)

        Case 2: I selected Qt 5.8.0(qt-everywhere-opensource-src-5.8.0) in projects, qmake is /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake, in this case, I don't know, in which location the compiler is. So I selected the /usr/bin/g++ itself.

        It is showing the following error.
        Project ERROR: /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/examples/widgets/widgets/analogclock/analogclock.pro installs target to unexpected location.

        By using the absolute path of qmake
        Result
        /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake calculator.pro
        (successfully completed)
        /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake
        (successfully completed)
        make
        (successfully completed)
        ./calculator

        Please help me in solving this problem.
        Thanks in advance for the help.

        Thanks & Regards,
        Sajeevan.K

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Sajeevan K
          wrote on last edited by
          #4

          Hi Jsulm,

          By mistake, I submitted before completing the mail. Mail continues..
          By using the absolute path of qmake
          Result
          /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake calculator.pro
          (successfully completed)
          /home/sajeevank/Downloads/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake
          (successfully completed)
          make
          (successfully completed)
          ./calculator
          (fails,showing exec error)
          But this was working in embedded target board.

          But I tried another application example as my requirement is a 3d drawing - qt-everywhere-opensource-src-5.8.0/qt3d/examples/qt3d/basicshapes-cpp.
          But it is showing the "Unknown module(s) in QT" error.

          Please provide help in coming out of this issues.

          Thanks & Regards,
          Sajeevan.K

          Thanks & Regards,
          Sajeevan.K

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Hi,

            Since you have built Qt yourself, what parameters did you pass to it ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • S Offline
              S Offline
              Sajeevan K
              wrote on last edited by
              #6

              Hi Gaist,

              Thank You for the reply.

              My build configuration is as follows

              ./configure -platform linux-g++ -xplatform linux-arm-linaro-g++ -release -device linux-beagleboard-g++
              -sysroot /opt/sysroot-eglibc-linaro-2017.01-arm-linux-gnueabihf/
              -prefix ~/QtForBBB
              -device-option CROSS_COMPILE=/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
              -qt-xcb
              -nomake tests -nomake examples -no-opengl

              And qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-linaro-g++/qmake.conf is as follows

              include(../../common/linux.conf)
              include(../../common/gcc-base-unix.conf)
              include(../../common/g++-unix.conf)

              QMAKE_CC = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

              QMAKE_CXX = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

              QMAKE_LINK = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

              QMAKE_LINK_SHLIB = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

              QMAKE_AR = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar

              QMAKE_OBJCOPY = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy

              QMAKE_STRIP = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip

              load(qt_config)

              I tried to configure by removing -no opengl option. But then configuration is failed. And error message is as shown below.

              Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

              ERROR: The OpenGL functionality tests failed!
              You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
              QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

              Check config.log for details.

              Also I have an opengl application which is finely working in QtCreator, when I am selecting "desktop" in Projects window.
              The same application when I am building with "BBB"(for cross compiling Beaglebone Black) in Projects window, it is showing the following error.

              Project ERROR: Unknown module(s) in QT: opengl
              10:05:06: The process "/opt/sysroot-eglibc-linaro-2017.01-arm-linux-gnueabihf/home/sajeevank/QtForBBB/bin/qmake" exited with code 3.

              In short, the problem I am facing now is Opengl application which is finely working with desktop is not working in Beaglebone Black.

              Please suggest the work around.

              Thank You in advance for the help.

              Thanks & Regards,
              Sajeevan.K

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                Is it me or are you trying to run a Qt3D application with a Qt version where you are explicitly disabling OpenGL ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  Sajeevan K
                  wrote on last edited by
                  #8

                  Hi Gaist,

                  Earlier I did that as per some online guides. At that time I did not require OpenGL. But now when I remove it, it is showing the following error messages

                  Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

                  ERROR: The OpenGL functionality tests failed!
                  You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
                  QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

                  Check config.log for details.

                  Thanks in advance for the help.

                  Thanks & Regards,
                  Sajeevan.K

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    You should use your BBB sysroot as it should contain everything needed for OpenGL.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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

                      Hi Gaist,

                      Thank You for the reply. I am using the sysroot - "sysroot-eglibc-linaro-2017.01-arm-linux-gnueabihf", which I got from https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/. I am not sure whether it is a sysroot with installed OpenGL ES packages. I explored in this sysroot directory. I couldn't find an opengl or gl directory or file. Does this sysroot really contains OpenGL ES packages?

                      Also how should I modify ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-linaro-g++/qmake.conf
                      to include QMAKE_INCDIR_OPENGL[_ES2],
                      QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2]. Is it as shown below?

                      QMAKE_INCDIR_OPENGL[_ES2] = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/include
                      QMAKE_LIBDIR_OPENGL[_ES2] = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib
                      QMAKE_LIBS_OPENGL[_ES2] = /opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib

                      When I do it as above I am getting the following error messages.

                      Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

                      ERROR: Feature 'opengl' was enabled, but the pre-condition 'features.opengl-desktop || features.opengl-dynamic || features.opengles2' failed.

                      ERROR: The OpenGL functionality tests failed!
                      You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
                      QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

                      Check config.log for details.

                      Thanks in advance for the help,

                      Thanks & Regards,
                      Sajeevan.K

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        Like I wrote before: use a sysroot made for the BBB. Linaro provides a generic sysroot. The device producer usually provide their own with everything needed to access their specialised hardware. That's not the role of Linaro.

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          Sajeevan K
                          wrote on last edited by
                          #12

                          Hi Gaist,

                          Thank You very much for the reply. I will move in that direction.

                          Thanks & Regards,
                          Sajeevan.K

                          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