Please nominate your Qt Champions for 2021!

Custom Make System (bmake)

  • Hi, I'm new to QT5 but have an extensive build environment at our Uni that is based on 'bmake'.
    I would like to use QT to create a 'screen saver' that displays our Jenkins Build Status on certain PCs when they are idle.
    I'm planning to use the libpsi library to monitor the system and qmlscene to launch a WebView window after a certain amount of idle time.

    Is there a guide that explains how to incorporate 'moc' into a Makefile based build environment? What include folders are needed and what libraries need to be linked and from where? At what point is the 'moc' invoked and how? How can I collect the names of the files created by the 'moc' so I can forward them to our bmake processor?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Can you explain how bmake works ?

  • I have worked out that qmake creates the Makefile to be used with make (but that's another story). Anyways, I am now able to build an executable. However I'm having difficulties getting a debug build on my Ubuntu 16.04 platform.
    I am using qmake CONFIG+=debug and am able to see the -g flag in the Makefile (CFAGS & CXXFLAGS). However when I attempt to use gdb test to debug my executable, gdb reports Reading symbols from test...(no debugging symbols found)...done.

    The gdb version I have is:

    GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    Find the GDB manual and other documentation resources online at:
    For help, type "help".
    Type "apropos word" to search for commands related to "word".

    It appears to me that the debugger test in the Makefile is incorrectly calculating the Ubuntu gdb version:

    { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9][^0-9]*\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true

    Note I am using the Command Line here.
    Qt Creator 4.3.1 is also complaining about my GDB, even though its version is 7.11.1 in the Tools->Options->Build & Run->Debuggers dialog, where I have a bunch of LLDB debuggers as well.

    @Lifetime-Qt-Champion : bmake is BSD Make, cross-platform make tool. Effectively the same as make. I'm trying to make this work the QT5 way first (from the command line) and then I'll worry about how I will integrate it into our system. (As I said above, that's another story.)

  • Lifetime Qt Champion

    Did you install Qt from the online/offline installer or are you using the Qt coming with your distribution ?

    In the second case, did you instal the matching debug package from the package manager ?

Log in to reply