gpt4 book ai didi

windows - 使用 nmake.exe Windows 在 makefile 中无法识别 addprefix 命令

转载 作者:可可西里 更新时间:2023-11-01 14:18:55 28 4
gpt4 key购买 nike

all: prd.exe

CC=cl
CFLAGS=-O2 -I../src -I. /W4
LDFLAGS = /Zi
LIBSRC = $(addprefix ../lib/, \
open.c malloc.c \
) \
$(addprefix ../src/, \
main.c \
) \
helper.c

LIBOBJS = $(LIBSRC:.c=.o)

prd.exe: ../src/main.obj
$(CC) $(LDFLAGS) -Fe$@ *.o

../src/main.obj: ../src/main.c
$(CC) $(CFLAGS) $(LIBOBJS) -c $< -Fo $@

.c.o:
$(CC) $(CFLAGS) $(LIBOBJS) -c $< -Fo $@

.c.i:
$(CC) $(CFLAGS) $(LIBOBJS) -C -E $< > $@

clean:
del /s /f /q ..\lib\*.o ..\src\*.o *.o *.exe *.pdb

distclean: clean

我收到这个错误

fatal error U1000:第 6 行的宏调用中缺少语法错误:')'

我在这里遗漏了什么吗? nmake 确实识别 addprefix,对吧?

最佳答案

不,addprefix 是一个 GNU make 扩展。你有一个需要 GNU make (gmake) 来处理的 GNUmakefile。

或者,您可以重写 GNU makefile 以不使用 GNU 扩展。在您的情况下,这应该很容易:

LIBSRC = $(addprefix ../lib/, \
open.c malloc.c \
) \
$(addprefix ../src/, \
main.c \
) \
helper.c

成为

LIBSRC = ../lib/open.c ../lib/malloc.c ../src/main.c helper.c

关于windows - 使用 nmake.exe Windows 在 makefile 中无法识别 addprefix 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291343/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com