【发布时间】:2019-12-29 14:05:45
【问题描述】:
在尝试为我的学校项目编写 Windows 的 C makefile 时,我真的很绝望。我已经为 ubuntu 编写并使用了我的 makefile,它可以像这样完美地工作:
all: clean install
install: dynarr.o broadcaster.o main.o
gcc -o freq dynarr.o broadcaster.o main.o
clean:
rm -f *.o
dynarr.o:
gcc -c dynarr.c
broadcaster.o:
gcc -c broadcaster.c
main.o:
gcc -c main.c
我已经在不同的网站上尝试了大约 10 个教程,这让我很紧张。 我需要按照这个特定的顺序编译dynarr.c broadcaster.c main.c,输出应该是freq.exe。学校服务器上的编译器对于两个版本(linux 和 windows)都是 gcc。 请帮帮我。
编辑:出于某种原因,我们老师的在线验证器需要 windows 和 linux 的 freq.exe,他没有费心在任何地方提及它。我必须编辑的所有内容都是freq 到freq.exe。感谢支持。
【问题讨论】:
-
我们无法猜测到底出了什么问题。编辑您的问题以反映这一点,包括错误消息和/或什么是和应该是什么。
-
好吧,问题是服务器不会给我任何比 文件freq.exe 无法创建,测试无法继续更好的线索帮助,但我找不到任何有用的东西
-
你在运行什么命令?
-
我真的说不出来,我看不到测试的内部。我已经联系了我的老师,等待他的回应。同时我构建了这个:
CC = gcc CFLAGS = -Wall -pedantic -ansi LIBS = -lm BIN = freq.exe OBJ = dynarr.o broadcaster.o main.o $(BIN): $(OBJ) $(CC) $^ -o $@ -lm %.o: %.c $(CC) -c $(CFLAGS) $< $(LIBS) -o $@,它似乎应该没问题,但不是。请您检查一下是否有错误? -
请注意,
make和 C 是分开且独立的,除非make实现可以用 C 编写。因此,短语“Ansi C makefile”没有明确定义意义。我猜你只是想要一个生成文件来构建你的特定 C 程序。
标签: c windows makefile compilation