【问题标题】:Linux/CUPS Qt printing exampleLinux/CUPS Qt 打印示例
【发布时间】:2015-04-10 12:05:36
【问题描述】:

我需要使用 Qt 中的 CUPS API 来检测和安装打印机。问题是我似乎无法让 Qt 检测到 cups.h 头文件。 到目前为止,我尝试过(使用 和“”):

#include <cups/cups.h>

#include </usr/local/include/cups/cups.h>

在 .pro 文件中我也尝试添加:

INCLUDEPATH += /usr/local/include/cups

每次我得到“cups/cups.h:没有这样的文件或目录”。所以任何人都可以提供一个最小的例子或一个 HOWTO 来展示如何在 Qt 应用程序中包含和使用 CUPS。

谢谢!

PS:我不确定它是否相关,但我可能应该补充一点,我为树莓派交叉编译了 Qt。

【问题讨论】:

  • 你真的 /usr/local/include/cups/cups.h 吗?考虑到显式路径显然失败,您使用qmake 似乎并不相关。你的 C++ 编译器就是找不到那个文件。
  • /usr/local/include/cups/cups.h 存在于我的开发机器上,但不存在于目标(Raspberry Pi)上。我是否必须与 Qt 一起交叉编译 CUPS 才能使用它?
  • 你必须在你的 sysroot 中安装 cups 头文件,看起来像。
  • 谢谢!将标头添加到 sysroot 是可行的,但现在我得到“对 `cupsGetDefault' 的未定义引用 ...”。我发现它一定缺少一个库,所以我在我的项目文件中添加了“LIBS += -lcups”,但它说“找不到 -lcups”!
  • 图书馆不是魔法。它只是实现,即代码。而且您需要在 RPi 上运行该代码,因此最好是 RPi 代码。在图书馆里

标签: c++ linux qt cups


【解决方案1】:

安装“libcups2-dev”库。

 sudo apt-get install libcups2-dev

然后搜索库文件

find / -type f -name "*.a"

您将收到所有带有该位置的 .a 库文件的响应

从列表中找到“libcups.a”文件。

example : /home/Desktop/cups-1.7.5/cups/libcups.a

在您的 Qt .pro 项目文件中添加目标文件路径

LIBS += "../release/build/arm926/libcups.a"

【讨论】:

    猜你喜欢
    • 2013-01-09
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    相关资源
    最近更新 更多