C compile: collect2: error: ld hat 1 Exit-Status zurückgegeben

Ich habe versucht, online nach diesem Fehler zu suchen, aber alle Beiträge sind für C ++.

Dies ist die Nachricht:

test1.o: In FunktionReadDictionary': /home/johnny/Desktop/haggai/test1.c:13: undefined reference toCreateDictionary 'collect2: Fehler: ld hat 1 Exit-Status zurückgegeben make: *** [test1] Fehler 1

super einfacher Code und kann nicht verstehen, was das Problem ist

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dict.h"
#include "hash.h"


pHash ReadDictionary() {
    /* This function reads a dictionary line by line from the standard input. */
    pHash dictionary;
    char entryLine[100] = "";
    char *word, *translation;

    dictionary = CreateDictionary();
    while (scanf("%s", entryLine) == 1) { // Not EOF
        word = strtok(entryLine, "=");
        translation = strtok(NULL, "=");
        AddTranslation(dictionary, word, translation);
    }
    return dictionary;
}

int main() {
    pHash dicti;
...

Nun das ist der Header dict.h

#ifndef _DICT_H_
#define _DICT_H_

#include "hash.h"

pHash CreateDictionary();
...

#endif

und hier ist die dict.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "hash.h"
#include "dict.h"


pHash CreateDectionary()
{
    pHash newDict;
    newDict= HashCreate(650, HashWord, PrintEntry, CompareWords, GetEntryKey, DestroyEntry);
    return newDict;
}

nd wenn du hash.h prüfen will

#ifndef _HASH_H_
#define _HASH_H_

//type defintions//
typedef enum {FAIL = 0, SUCCESS} Result;
typedef enum {SAME = 0, DIFFERENT} CompResult;

typedef struct _Hash Hash, *pHash;

typedef void* pElement;
typedef void* pKey;

//function types//
typedef int (*HashFunc) (pKey key, int size);
typedef Result (*PrintFunc) (pElement element);
typedef CompResult (*CompareFunc) (pKey key1, pKey key2);
typedef pKey (*GetKeyFunc) (pElement element);
typedef void (*DestroyFunc)(pElement element);
...

//interface functions//

#endif

Vielleicht wird es einfacher, wenn ich Ihnen die Dateien hier gebe?

ch freue mich auf jeden Fall über Tipps zum Verständnis des Problem

Antworten auf die Frage(16)

Ihre Antwort auf die Frage