使用nmake.exe窗口在makefile中无法识别addprefix命令
发布时间:2020-12-16 07:35:22 所属栏目:百科 来源:网络整理
导读:all: prd.exeCC=clCFLAGS=-O2 -I../src -I. /W4LDFLAGS = /ZiLIBSRC = $(addprefix ../lib/, open.c malloc.c ) $(addprefix ../src/, main.c ) helper.cLIBOBJS = $(LIBSRC:.c=.o)prd.exe: ../src/main.obj$(CC) $(LDFLAGS) -Fe$@ *.o../src/main
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 我收到这个错误 致命错误U1000:语法错误:’)’在第6行的宏调用中丢失 我错过了什么吗? nmake确实识别addprefix,对吧? 解决方法
不,addprefix是GNU make扩展.你有一个GNUmakefile需要GNU make(gmake)来处理.
或者,您可以重写GNU makefile以不使用GNU扩展.在你的情况下,这应该很容易: LIBSRC = $(addprefix ../lib/, main.c ) helper.c 变 LIBSRC = ../lib/open.c ../lib/malloc.c ../src/main.c helper.c (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |