La liaison d'erreur: Undefined reference to fonctions qui sont définies dans un fichier séparé?

Je suis probablement oublié quelque chose d'évident qui va résoudre ce problème. Alors qu'il y a d'autres questions sur DONC avec le même problème, aucune des solutions ont été applicable à ma situation.

J'ai un fichier principal, sim.c, un fichier d'en-tête net.h, un fichier d'en-tête de vos amis.h et un fichier avec les fonctions, net.c. J'ai un makefile, que j'ai créé avec gmakemake > fichier Makefile, et son contenu sont très basiques.

En-tête.mak (makefile modèle):

CFLAGS = -Wall -Wextra -pedantic -std=c99 -ggdb
LFLAGS = -ggdb
LDFLAGS =

Makefile contenu pertinent:

CPP_FILES =
C_FILES =       net.c sim.c
PS_FILES =
S_FILES =
H_FILES =       net.h friends.h
SOURCEFILES =   $(H_FILES) $(CPP_FILES) $(C_FILES) $(S_FILES)
.PRECIOUS:      $(SOURCEFILES)
OBJFILES =

#
# Main targets
#

all:    net sim

net:       net.o $(OBJFILES)
        $(CC) $(CFLAGS) -o net net.o $(OBJFILES) $(CLIBFLAGS)

sim:       sim.o $(OBJFILES)
        $(CC) $(CFLAGS) -o sim sim.o $(OBJFILES) $(CLIBFLAGS)

#
# Dependencies
#

net.o:     net.h
sim.o:     net.h

Ma carte sim.c fichier contient:

#include "net.h"
#include "friends.h"

Mon fichier d'en-tête contient les fonctions dans le filet.c et définit tout comme les talons. J'ai copié et collé à la création de la fonction en-têtes, donc il ne devrait pas y avoir de fautes de frappe.

Mon net.c fichier contient:

#include "net.h"

Pourtant, chaque fois qu'une fonction de la carte sim.c tente d'appeler une fonction dans le filet.c, il erreurs sur cette ligne avec:

"undefined reference to `function_name`".

Comment puis-je faire sim.c pouvoir accéder aux fonctions du net.c?

InformationsquelleAutor HB- | 2014-11-08