I am building a small QT (C++) application where I ask user the software he want to install. Once he selected some packages a, b, c from the list all I have to do is run
sudo apt-get install a b c
One way of doing this is using Qprocess or System and run this command directly from C++. But I thought this would be a hack and wanted to do using apt-pkg C++ library. But sadly documentation is very sparse for this library :( I saw source codes of some similar softwares - Software updater ( apt-watch ) etc and found it too complex. Just to run above command, it has lot of code - Initializing pkgCacheFile, PkgIterator, pkgAcqArchive.
Do I have to do all this to run this simple command ? Isn't there a direct function which takes software name as argument and install it ? Where Can I get a sample working code for the same?
I would just use system:
It is not a hack to use a simple solution.
The answer is
libapt-pkg
. It is a library written in C, which makes it also accessible from C++ code.Install the packages
libapt-pkg-dev
andlibapt-pkg-doc
respectively for the library and its documentation.