SpecialAgentUwe Geschrieben 28. September 2010 Teilen Geschrieben 28. September 2010 Hallo Leute, brauche wieder mal eure Hilfe. Ich habe mir in einem header (StopwordTokenizer.h) folgende Funktion deklariert: #ifndef STOPWORDTOKENIZER_H_ #define STOPWORDTOKENIZER_H_ #include "sqlite3.h" #include "tokenizer.h" #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> ... static void filter( char *input, char *langCode, int minFreq ); ... #endif Und in StopwordTokenizer.c steht unter anderem: #include "StopwordTokenizer.h" ... static void filter( char *input, char *langCode, int minFreq ){ stopword_tokenizer *t; t = (stopword_tokenizer *) sqlite3_malloc(sizeof(*t)); stopword_tokenizer_cursor *c; c = (stopword_tokenizer_cursor *) sqlite3_malloc(sizeof(*c)); initFilter(input, langCode, minFreq, c, t); char *pOut; int *pnBytes; int *piStartOffset; int *piEndOffset; int *piPosition; while(tokenize(pOut, pnBytes, piStartOffset, piEndOffset, piPosition, c, t, EXTERNAL) == 0) { printf("%i %s \n",c->iToken, c->pToken); } } ... Und schließlich in der aufrufenden Datei: #include "StopwordTokenizer.h" ... int main(void) { filter("Am Kallinenberg", "DEU_deu", 100); return 0; } Aber er sagt mir: "undefined reference to `filter'". Hab ich irgendein grundlegendes Verständnisproblem? Danke im Voraus! Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. September 2010 Teilen Geschrieben 28. September 2010 Wenn du eine Funktion als static deklarierst, ist sie nur in der Übersetzungseinheit (.c-Datei) verfügbar, in der sie definiert ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SpecialAgentUwe Geschrieben 28. September 2010 Autor Teilen Geschrieben 28. September 2010 Aha...jetzt läufts. Danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.