Important: Please read the Qt Code of Conduct -

Linking to QNX Qt libraries QtQnxCar2, QPps in a project

  • Would anyone know how to include/use the QNX Qt libraries such as QtQnxCar2, QPPS, QPlayer in a Qt project? I think this involves including a package in Qt or may be linking the library in the .pro file, just can't figure out what it is though.

    QNX has lot of documentation about the libraries, but nothing about how to actually include and use them in a Qt project.

    I am specifically looking for how to use the Qpps namespace in my project. For example, I've linked the qpps library as below in my .pro file:

    LIBS += -L$$PWD/../../../../../home/me/qnx660/target/qnx6/armle-v7/qtcar/lib/ -lqpps
    INCLUDEPATH += $$PWD/../../../../../home/me/qnx660/target/qnx6/armle-v7/qtcar
    DEPENDPATH += $$PWD/../../../../../home/me/qnx660/target/qnx6/armle-v7/qtcar

    But my project still doesn't recognize anything related to qpps.

    Qt Creator 3.3.2
    Qt 5.2.0
    QNX Car 2.1
    QNX SDP 6.6
    Ubuntu 14.04

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    I don't have access to a QNX development environment but what exact error message do your get ?

  • Thanks SGaist. Hello to you too!

    In my .cpp file I've code like this at the beginning:

    #include <QDebug>
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QTimer>
    using namespace QPps;

    And here's the error when I try to build it.

    mainwindow.cpp:5:17: error: 'QPps' is not a namespace-name
    mainwindow.cpp:5:21: error: expected namespace-name before ';' token
    cc: /home/me/qnx660/host/linux/x86/usr/lib/gcc/arm-unknown-nto-qnx6.6.0eabi/4.7.3/cc1plus error 1
    make: *** [mainwindow.o] Error 1

  • Lifetime Qt Champion

    From your code, you don't include anything that provides the QPps namespace

  • Your library paths look correct to me.

    Did you try skipping declaring the namespace and create a pps object?
    #include <qpps/object.h>
    QPps::Object *testObject = new QPps::Object(QStringLiteral("/pps/services/test"), QPps::Object::PublishAndSubscribeMode, false, this);

    You should be able to just do LIBS += -lqpps since you are setting the INCLUDEPATH and DEPENDPATH to it's directory.

Log in to reply