我正在尝试将PackageKit导入到我正在使用的C++项目中(作为来自于C++背景的C++新手)。我的目标是用我在系统上安装的软件包做一些事情。
我已经安装了libpackagekit-glib2-16、libpackagekit-glib2-dev、libpackagekit-qt2-6、libpackagekit-qt2-dev和packagekit (我知道我不需要所有这些,但我现在只是在报道我的基础)。我可以看到它们是在这里安装的:/usr/include/PackageKit,它有子文件夹packagekit-glib2、packagekit-qt2、plugin。
为了帮助我,在我还在学习的时候,我正在使用qt 5.2.1作为我的Makefiles的拐杖,但我现在实际上并没有使用任何qt资源。以前,我可以通过-lapt-lib和-ldpkg在qt的LIBS+=下导入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来帮助生成文件。感谢所有提前!
发布于 2014-08-20 17:16:59
在我的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发布于 2014-08-20 06:05:37
这似乎是一个编译问题。编译器找不到packagekit的标题。我认为,在g++行中,您需要添加-I/usr/include/PackageKit或类似的内容。
https://stackoverflow.com/questions/25394960
复制相似问题