Install Qt Creator on NVIDIA Jetson TX1

Here we have a short article on installing Qt Creator on the NVIDIA Jetson TX1. Looky here:

Note: This article is about installing Qt Creator 3.3.1 for Qt 5.5.1 on a Jetson TX1. The Jetson TX1 is flashed using JetPack 2.3.1 and is running L4T 24.2.1.

Background

There are a couple of tricks to installing Qt Creator on the Jetson TX1 from the Ubuntu repositories. Some folks have reported issues installing Qt 5.5 on the TX1, so I revisited the installation we had done for the Jetson TK1.

Installation

First, install Qt Creator from the repositories. Open a Terminal and execute:

sudo apt-get install qt5-default qtcreator -y

Second, the compiler needs to be set up. Open Qt Creator, and go to:

Tools->Options->Build & Run->Compilers

Click the ‘Add’ button and select ‘GCC’. In the ‘Compiler path:’ text box, place the path to the gcc compiler. On a standard installation the path is: /usr/bin/gcc.

Here’s the where the first issue comes into play. When GCC is added to the compiler list, it does not set the processor architecture flag correctly. As shown in the video, remedy this issue by modifying the ABI section of the GCC compiler dialog. Change the setting to:

custom – arm – linux – generic – elf – 64 bit

Then save the modifications by clicking ‘Apply’

The third and final step is to add a kit which supports the GCC compiler. Click the ‘Kit‘ tab. The ‘Desktop‘ kit appears to have an issue with setting the compiler. This means that you can find the Desktop kit configuration file and manually modify it, or you can create a new Kit all together. In the video, a new Kit called ‘JetsonTX1’ is created and set to be the default.

Qt Creator is now ready for development, make sure that the JetsonTX1 Kit is selected when creating a new project.

Examples

In the video, the standard Qt examples were loaded for demonstration purposes. Also, Qt documentation was loaded. In the Terminal, execute:

$ sudo apt-get install qt5-doc qt5-doc-html qtbase5-doc-html qtbase5-examples -y

The examples are now available.

Conclusion

Getting Qt Creator up and running on the Jetson TX1 requires a couple of tricks, but fortunately we were able to figure them out.

Note: If you are running a version of L4T 24.X before 24.2.1, you may encounter errors associated with a soft link issue with the Mesa OpenGL drivers. In 24.2.1, these have been resolved. For previous versions, you may have to:

$ cd /usr/lib/aarch64-linux-gnu
$ sudo rm libGL.so
$ sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so libGL.so

20 Comments

  1. Has anyone seen problem with installing Qt creator with ubuntu 16.04 on TX1
    sudo apt-get install qt5-default qtcreator -y
    gives error due to qtbase5-dev -> libgles2-mesa-dev or libgles2-dev not installable

  2. Hi Jim

    have you tried to install the ROS-plugin for QT creator, I did tried but can’t make it work, could you please advice

    Thank you 😉

  3. Hello Jim,
    Can you please make a tutorial about QT5.9.3 and Creator 4.4.1, it is urgent and i am stuck for the past 3 weeks. Keep up the good stuff 🙂

    Thanks a lot !

  4. Hey Jim,

    I am trying to install QTCreator on the TX2 for install the IntelRealSense library. However, I keep getting the following error message:

    $ sudo apt-get install qtcreator
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package qtcreator is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    qtchooser

    E: Package ‘qtcreator’ has no installation candidate

    Could you tell me what I might need to change? I have tried to make changes in the sources.list (added universe and multiverse) but it hasn’t really helped. Using L4T 28.1

  5. Hi Jim,
    I am trying to run QT demo whitout desktop environment, However, I keep getting the following error message:
    QWidget::paintEngine: Should no longer be called
    QPainter::begin: Paint device returned engine == 0, type: 1
    QPainter::pen: Painter not active
    QPainter::setPen: Painter not active
    QPainter::setPen: Painter not active

    Can you give me some advice?
    Thanks a lot!

    • I do not quite understand the question. QWidget and QPainter are used in graphics for the desktop environment. If you are not using the desktop environment, then the graphics are not available.

  6. Do you think that this installation will work for TX2 28.2?
    Upon following your instructions I do not see the QT Creator in the search pane?

  7. Thanks, this works. but there is an issue. The Qt can not debug for the console applications, any one has the idea?

    the error is
    The inferior stopped because it received a signal from the operating system.

    Signal name :
    SIGSTOP
    Signal meaning :
    Stopped (signal)

  8. Hi Jim

    First of all, thanks for all these great tutorials.

    Working C++ application, using camera and some gpio pins on Jetson TX2. To run it, I always need to open the Ubuntu’s terminal, type some command and press enter.

    This time want to use this code on a new product, available for end-user, with custom designed GUI & touch screen (such as start, stop and change some parameters buttons, inputs etc. ). Program has to run at every reboot, and has to be standalone, and not let any other programs to run by the user. Also the code has to be secured not be able to accessed by others.

    In short, Jetson with touch screen, will look like this one:
    http://cdn.gadgetreview.com/wp-content/uploads/2010/01/Touch-Revolution-Microwave-And-Washing-Machine-1-620×465.jpg

    Should I be learning Qt for these? Or any other suggestions?

    Thank you

    • Qt is library with a development environment called QT Creator. Your decision to use it should probably be made around the type of development you need to do. Like most development libraries, GUIs and environments, Qt can have a steep learning curve. It’s something you should investigate to see if it fits your needs. Thanks for reading!

Leave a Reply

Your email address will not be published.


*