Servus,
ich werd noch wahnsinnig. Das folgende Problem nervt mich jetzt schon seit längerem und keiner in meinem Umkreis hat eine Ahnung, warum man anscheinend keine public structs in Headern definieren kann.
Header (main.h)
#ifndef MAIN\_H\_
#define MAIN\_H\_
#include
#include "TrayIcon.h"
// public struct for accessing special functions
struct Globals {
QApplication \*app;
TrayIcon \*tray\_icon;
} G;
#endif /\* MAIN\_H\_ \*/
Quellcode (main.cpp)
#include "main.h"
int main(int argc, char \*argv[]) {
G.app = new QApplication(argc, argv);
G.app-\>setQuitOnLastWindowClosed(false);
G.tray\_icon = new TrayIcon();
G.tray\_icon-\>show();
return G.app-\>exec();
}
Schmeisst:
debug/main.o: In function `main':
/home/michi/workspace/SDApp Frontend/main.cpp:6: multiple definition of `G'
debug/TrayIcon.o:/home/michi/workspace/SDApp Frontend/TrayIcon.cpp:3: first defined here
Dabei wird G nichtmal annähernd in der Datei TrayIcon.cpp verwendet noch definiert (die main.h wird lediglcih eingebunden, weil später ein Zugriff folgen soll). Wie man vermutlich erkennen kann, ist Qt mit im Spiel, sollte aber nicht weiter stören.
Hilfe! Danke im Voraus.
michi