【问题标题】:Integrating QNX Qt libraries in a Qt project在 Qt 项目中集成 QNX Qt 库
【发布时间】:2015-04-13 18:57:54
【问题描述】:

有谁知道如何在 Qt 项目中包含/使用 QNX Qt 库,例如 QtQnxCar2、QPPS、QPlayer?我认为这涉及在 Qt 中包含一个包,或者可能是在 .pro 文件中链接库,只是无法弄清楚它是什么。

QNX 有很多关于库的documentation,但没有关于如何在 Qt 项目中实际包含和使用它们。

我正在专门寻找如何在我的项目中使用Qpps 命名空间。例如,我在 .pro 文件中链接了 qpps 库,如下所示:

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

这是 mainwindow.cpp 中的代码,

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

这是构建错误:

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

工具链: Qt 创建者 3.3.2 Qt 5.2.0 QNX汽车2.1 QNX SDP 6.6 Ubuntu 14.04

【问题讨论】:

  • 这是编译器问题,而不是链接器问题。请。查看我修改后的答案。

标签: qt qnx


【解决方案1】:

编辑 问题完全变了!现在描述的是编译器错误,而不是前面描述的链接问题。 您必须首先包含头文件,其中声明了命名空间。 例如:

#include <qpps/changeset.h>

另外,请注意,qpps-include 文件(headers,.h-files)的目录定义在以下行:

INCLUDEPATH += <Path to your qpps includes >

原始答案 如果 QNX 库适用于与其他 UNIX 库相同的规则,您可以通过在 Qt 项目文件 (*.pro) 中包含这一行来使用它们

LIBS += -L/Path/to/mylib/ -lmylib

实际上 QNX 不需要提供任何信息,如何在 Qt 中使用他们的库。 相应的手册是 QMAKE 手册。

【讨论】:

  • 我也尝试过以这种方式链接它,但没有奏效。无论如何,谢谢。
  • 您能否提供更多信息,出了什么问题?您的 makefile、项目文件、构建系统、编译器或链接器错误?
  • 它只是找不到库。请再次查看我修改后的问题。
  • 谢谢,但它仍然是相同的链接问题 - 我应该从一开始就提供更多详细信息。编译器报错,因为 lib 链接不正确。
猜你喜欢
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 2015-02-18
  • 1970-01-01
相关资源
最近更新 更多