C ++ PackageKit newb链接问题

时间:2014-08-20 00:17:51

标签: c++ qt

我正在尝试将PackageKit导入到我正在使用的C ++项目中(作为一个来自大多数Java背景的C ++新手)。我的目标是使用我在系统上安装的软件包做一些事情。

我安装了libpackagekit-glib2-16libpackagekit-glib2-devlibpackagekit-qt2-6libpackagekit-qt2-devpackagekit(我知道我不需要所有这些但是我现在只是覆盖我的基地)。我可以看到它们已安装在此处:/usr/include/PackageKit,其子文件夹为packagekit-glib2packagekit-qt2plugin

为了帮助我,我正在使用qt 5.2.1作为我的Makefiles的拐杖,而我还在学习,但我现在实际上并没有使用任何qt资源。我以前可以通过qt -lapt-lib下的-ldpkgLIBS+=导入apt和dpkg的库但是我无法弄清楚如何导入packagekit的库(我尝试了多个变化,但我无法弄清楚如何正确导入此库)。

此:

#define I_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE
#include <PackageKit/packagekit-glib2/packagekit.h>

int main(int argc, char *argv[])
{
    return 0;
}

结果:

g++ -c -std=c++11 -g -Wall -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../console-example -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I. -I. -o main.o ../console-example/main.cpp
In file included from ../console-example/main.cpp:3:0:
/usr/include/PackageKit/packagekit-glib2/packagekit.h:31:41: fatal error: packagekit-glib2/pk-catalog.h: No such file or directory
 #include <packagekit-glib2/pk-catalog.h>

如果有必要,我的系统是Ubuntu 14.04 64bit,正如我所提到的,我正在使用qt 5.2.1来帮助makefile。提前全部感谢!

2 个答案:

答案 0 :(得分:0)

这似乎是一个汇编问题。编译器找不到packagekit的头文件。我想在g ++行中你需要添加-I/usr/include/PackageKit或类似的东西。

答案 1 :(得分:0)

在我的qt项目的.pro文件中,我必须进行以下添加才能进行编译和链接。

CONFIG += link_pkgconfig # This enables the next line
PKGCONFIG = gtk+-2.0     # This will link against gtk+-2.0

INCLUDEPATH += /usr/include/PackageKit/ \  # This is the include for packagekit
    += /usr/lib/glib-2.0/include/          # This will include glib, which packagekit is dependent on