繁体   English   中英

Makefile 编译

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM