Qt + KDE API undefined reference to..

0

Witam.
Chciałbym zaznaczyć, że nigdy wczesniej nie korzystałem z klas KDE podczas pisania za to dużo pisałem z wykorzystaniem klas QT. Mam taki oto problem:
Potrzebuję w aplikacji QT mieć dostęp do różnych funkcji związanych z obslugą cdromów. Jakiekolwiek jednak odwołanie do którejkolwiek z funkcji zawartych w kcompactdisc kończy się niepowodzeniem.
Załączam:

#include "libkcompactdisc/kcompactdisc.h"
#include <kmessagebox.h>
#include <kurl.h>
#include <kinputdialog.h>
#include <kprotocolinfo.h>
#include <kconfig.h>
#include <kapplication.h>
#include <kcombobox.h>
#include <kdebug.h>

#include "libkcddb/genres.h"
#include "libkcddb/cdinfodialog.h"

i np. chcę użyć funkcji cdromDeviceNames:

QStringList str = KCompactDisc::cdromDeviceNames();

i otrzymuję błąd przy próbie kompilacji:

/home/tomson/Pulpit/c++/mainwindow.cpp:40: undefined reference to `KCompactDisc::cdromDeviceNames()'
collect2: ld returned 1 exit status

Tak samo jest przy próbie użycia jakiejkolwiek funkcji związanej z kde. Wydaje mi się, że rozwiązanie jest banalne jednak proszę o jakieś wskazówki. Z góry dziękuję.

0

brak wpisu w pliku .pro!
Zgaduję (nie korzystam z KDE), że brakuje ci tam czegoś takiego:

QT += kde

A skutek jest taki, że kompilator nie wie, gdzie ma definicje klas i metod dla KDE (bo nie jest dołączany odpowiedni plik biblioteki).

0

Akurat korzystam z cmake i problem rozwiązałem w następujący sposób:
w CMakeLists do target_link_libaries dodałem
${KDE4_KDEUI_LIBS} ${KCOMPACTDISC_LIBRARY}
Teraz kompiluje się bez problemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1