2016-04-16 19 views
-4

Ich muss eine client.c Datei kompilieren; In dieser Datei gibt es in utiliy_lib.hMakefile Kompilierung

definiert Makro Wenn ich laufen:

gcc -Wall -c client.c utility_lib.h 

Der Compiler nicht Makrodefinitionen nicht finden.

Ich habe diese Datei im selben Ordner "Code":

client.c

server.c

utility_lib.c // enthält es allgemeine Makro von jeder Datei mit

utility.c // es enthält Dienstprogrammfunktion, die vom Client und Server verwendet wird

msg_queue.c // Es enthält die Funktion zum Bearbeiten der Nachrichtenwarteschlange (dies ist al ittle Projekt für einen Chatroom)

send_receive.c // enthält Funktion zum Senden und Empfangen Nachricht

die Make-Datei, die ich versucht ist:

CC = gcc -Wall -O0 -g 
LDFLAGS = -lpthread 
ARCH = $(shell uname -m) 

all: client server 

server: common.h main.c msg_queue.c send_recv.c util.c 
rm -f build/*.o 

    $(CC) -c main.c -o build/main.o 
    $(CC) -c send_recv.c -o build/send_recv.o 
    $(CC) -c util.c -o build/util.o 
    $(CC) -c msg_queue.c -o build/msg_queue.o 
    $(CC) -o server build/*.o $(LDFLAGS) 

client: 
    ln -s -f client-$(ARCH) client 

:phony 
clean: 
    rm -f client server build/*.o 

Jeder konnte mir bitte helfen?

+1

kompilieren gibt Was dies zu tun hat mit Makefiles? Veröffentlichen Sie auch Code, das Problem ist wahrscheinlich in Ihrem Code. –

+0

wo ist das problem mit make ?? Überprüfen Sie Ihren Code – 0x0584

+1

'#include" utility_lib.h "' in c-Datei und verwenden Sie "-IPATH_OF_HEADER" –

Antwort

2

client.c muss

#include "utility_lib.h" 

In der Nähe der Spitze der Datei

, dass es die Definitionen

Dann ist

gcc -Wall -c client.c 
+0

Es funktioniert nicht .... –