soul710
Erfahrenes Mitglied
Hallo,
habe hier irgendwie ein blödes Problem. Ich bekomme o.g. Fehler, d.h. ein nicht aufgelöstes externes Symbol. Der Aufbau meines Projektes ist wie folgt:
- viele .h Dateien (meine Klassen)
- viele .cpp Dateien (meine Klassen)
- eine main.cpp (offensichtlich)
- eine .h Datei einer externen Library (geklaut), dort sind ein paar C-Funktionen deklariert (keine Klassen)
- eine dazu passende .c Datei, in der die o.g. Funktionen implementiert sind, sowie weitere statische Funktionen (die nicht in der .h Datei definiert sind)
Aus dieser .h Datei bzw .c Datei möchte ich nun 1 nicht statische Funktion in einer meiner Klassen in der .cpp Datei nutzen.
Alle Dateien sind in meinem Visual Studio (2008) Projekt, und werden alle korrekt kompiliert. Im Objekt-Verzeichnis finde ich die passende Objekt Datei zu meiner C-Datei. Der Header wird auch korrekt gefunden und eingebunden, allerdings bekomme ich den Fehler nicht weg, er will mir einfach nicht linken.
Hat jemand eine Idee woran das liegen könnte?
Falls das was hilft: Das Programm ist eine Qt-Anwendung, Visual Studio Projekt wurde mit qmake erzeugt. Alle Source und Header Files sind im .pro File eingetragen.
Wenn ich versuche, eine der in der .c Datei statisch implementierten Funktionen zu nutzen, meint er:
error C2129: Statische Funktion "void foo(unsigned char *,int)" wurde deklariert, aber nicht definiert
obwohl die Funktion in der .h sowie in der .c Datei steht.
Was mach ich denn falsch?
habe hier irgendwie ein blödes Problem. Ich bekomme o.g. Fehler, d.h. ein nicht aufgelöstes externes Symbol. Der Aufbau meines Projektes ist wie folgt:
- viele .h Dateien (meine Klassen)
- viele .cpp Dateien (meine Klassen)
- eine main.cpp (offensichtlich)
- eine .h Datei einer externen Library (geklaut), dort sind ein paar C-Funktionen deklariert (keine Klassen)
- eine dazu passende .c Datei, in der die o.g. Funktionen implementiert sind, sowie weitere statische Funktionen (die nicht in der .h Datei definiert sind)
Aus dieser .h Datei bzw .c Datei möchte ich nun 1 nicht statische Funktion in einer meiner Klassen in der .cpp Datei nutzen.
Alle Dateien sind in meinem Visual Studio (2008) Projekt, und werden alle korrekt kompiliert. Im Objekt-Verzeichnis finde ich die passende Objekt Datei zu meiner C-Datei. Der Header wird auch korrekt gefunden und eingebunden, allerdings bekomme ich den Fehler nicht weg, er will mir einfach nicht linken.
Hat jemand eine Idee woran das liegen könnte?
Falls das was hilft: Das Programm ist eine Qt-Anwendung, Visual Studio Projekt wurde mit qmake erzeugt. Alle Source und Header Files sind im .pro File eingetragen.
Wenn ich versuche, eine der in der .c Datei statisch implementierten Funktionen zu nutzen, meint er:
error C2129: Statische Funktion "void foo(unsigned char *,int)" wurde deklariert, aber nicht definiert
obwohl die Funktion in der .h sowie in der .c Datei steht.
Was mach ich denn falsch?
