【发布时间】:2021-04-09 18:39:37
【问题描述】:
我想在 Windows 7 上从 GitHub 编译一个 C 程序并得到一个找不到文件的错误。我已经安装了 MinGW Make 及其依赖项。我想也许这个程序只打算在 Linux 上运行。
控制台输出:
E:\work-c\iso2opl-clone\iso2opl>make
gcc -std=gnu99 -pedantic -usr\include -usr\local\inc
lude -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -c isofs.c -o isofs.o
process_begin: CreateProcess(NULL, gcc -std=gnu99 -pedantic -F:\programs\mingw\i
nclude -F:\programs\mingw\local\include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SO
URCE -c isofs.c -o isofs.o, ...) failed.
make (e=2): Le fichier spécifié est introuvable.
make: *** [isofs.o] Erreur 2
生成文件:
CC = gcc
CFLAGS = -std=gnu99 -pedantic -I/usr/include -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
#CFLAGS += -DDEBUG
ifeq ($(_WIN32),1)
CFLAGS += -D_WIN32
endif
OBJS = isofs.o \
iso2opl.o
all: $(TARGET)
rm-elf:
-rm -f $(TARGET) $(OBJS)
$(TARGET): $(OBJS)
$(CC) $(OBJS) -o $(TARGET) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
%.o: %.cpp
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -r $(OBJS) $(TARGET)
我不知道也许路径是错误的。
最好的问候
【问题讨论】:
-
您是正确的,此 makefile 期望在基于 POSIX 的系统上运行,例如 GNU/Linux 或 MacOS。我不确定你的问题是什么......?
-
您是否尝试将
CC更改为mingw-gcc、mingw32-gcc或mingw64-gcc并删除-I标志? -
-usr\include是一个不正确的开关 -
只是为了澄清:我建议从 Makefile 中删除整个 -I 选项(带有参数),在大多数情况下 MinGW 不需要它们。