[英]Makefile compilation
我必须编译一个client.c文件; 在这个文件中有 utiliy_lib.h 中定义的宏
当我运行时:
gcc -Wall -c client.c utility_lib.h
编译器找不到宏定义。
我在同一个文件夹“代码”中有这个文件:
客户端
服务器.c
Utility_lib.c //它包含每个文件使用的通用宏
Utility.c //它包含效用函数,供客户端和服务器使用
msg_queue.c // 包含操作消息队列的函数(这是一个聊天室的小项目)
send_receive.c //它包含发送和接收消息的函数
我试过的makefile是:
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
任何人都可以帮助我吗?
Client.C 需要
#include "utility_lib.h"
靠近文件顶部
这给了它定义
然后编译是
gcc -Wall -c client.c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.