• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

make error : undefined reference to

Hi,

ich habe folgenden simplen code:

Code:
#include <iostream>
#include <kstandarddirs.h>
#include <QString>

using namespace std;

int main(){
  
  QString outputfile;
  outputfile = KStandardDirs::locateLocal("xdgconf-menu", "applications-kmenuedit.menu");  // Zeile 10

return 0;

}

und ein make liefert:

Code:
menuedit.o: In function `main':
/home/test/menuedit.cpp:10: undefined reference to `KGlobal::mainComponent()'
/home/test/menuedit.cpp:10: undefined reference to `KStandardDirs::locateLocal(char const*, QString const&, KComponentData const&)'
collect2: ld returned 1 exit status

jemand eine Idee? befürchte ein anfänger fehler....

Danke.
 

}-Tux-{

Hacker
Dir fehlt beim Linken noch eine bestimmte Library, welche die entsprechenden Methoden "provided". Welche das ist, kann ich dir auch nicht sagen - wird wohl irgendeine KDE Library sein. Hast du das Makefile selber geschrieben? Für solch einen einfachen Code ist ein Makefile meistens "overkill".


}-Tux-{
 
OP
K

klaus-dieter

Hacker
habe einfach ein

Code:
qmake -project
qmake
make

gemacht. Also lt. Doku sollte das Include eigentlich reichen, nach was müsste ich denn suchen?
 

spoensche

Moderator
Teammitglied
klaus-dieter schrieb:
habe einfach ein
Code:
qmake -project
qmake
make
gemacht. Also lt. Doku sollte das Include eigentlich reichen, nach was müsste ich denn suchen?

Mit
Code:
qmake -project
sagst du qmake, dass die Quellcode Dateien, die in .project (abhängig von der IDE) eingetragen sind compiliert werden sollen. Mit dem Aufruf von qmake wird das eigentliche Makefile erstellt, welches u.a. die Parameter für den Includepfad und die zu verlinkenden Bibliotheken enthält,, die der gcc verwenden soll.
 

Tooltime

Advanced Hacker
Aber ich glaube nicht das Qt per default gegen die KDE-Bibliotheken linkt, von daher muss das wohl manuell angepasst werden. Wenn ich das richtig sehe dürfte es sich um libkdecore handeln, die da fehlt.
klaus-dieter schrieb:
Also lt. Doku sollte das Include eigentlich reichen, nach was müsste ich denn suchen
Ohne Quellenangabe ist so eine Aussage nicht hilfreich, wie soll man da nachvollziehen was da steht.
 
Oben