リンクされたリストを複数の .c ファイルでグローバルに利用できるようにしたいと考えています。
これを行う方法を読みましたが、問題の原因を特定できません。
LinkedList.h で extern を使用して変数を宣言します。
extern LinkedList* canQueue;
次に main.c で、変数を LinkedList.c の関数に次のように送信して初期化します。
LinkedList *canQueue=createList();
これは LinkedList.c の create 関数です。
LinkedList* createList() /*creates empty linked list*/
{
LinkedList* myList;
myList = malloc(sizeof(LinkedList));
myList->head = NULL;
return myList;
}
次に、別のファイル cpu.c で canQueue を使用します。cpu.c に LinkedList.h を含めたので、この時点で、私が知っているリンク リストはここで利用できるはずです。しかし、アクセスしようとすると、エラーが発生します。
undefined reference to 'canQueue'
私は何かを逃したか、何か間違ったことをしましたか?