Makefile 使用make命令对日志的未定义引用

Makefile 使用make命令对日志的未定义引用,makefile,Makefile,我需要运行makefile的make命令。但是当我运行这个make命令时,我得到一个错误 “对'log'的未定义引用”,因为我知道它不包括数学库,我们必须在运行时包含它。我知道,如果我使用gcc comiler运行它,那么我可以在最后编写-lm,它将包括数学库。我的问题是我需要使用make命令运行它,即-makelu 在这里,如果我写makelu-lm,它不是链接数学库。请帮忙 我已经编辑了我的make文件 SHELL=/bin/sh BENCHMARK=ep BENCHMARKU=EP in

我需要运行makefile的make命令。但是当我运行这个make命令时,我得到一个错误 “对'log'的未定义引用”,因为我知道它不包括数学库,我们必须在运行时包含它。我知道,如果我使用gcc comiler运行它,那么我可以在最后编写-lm,它将包括数学库。我的问题是我需要使用make命令运行它,即-makelu

在这里,如果我写makelu-lm,它不是链接数学库。请帮忙

我已经编辑了我的make文件

SHELL=/bin/sh
BENCHMARK=ep
BENCHMARKU=EP

include ../config/make.def

OBJS = ep.o ${COMMON}/c_print_results.o ${COMMON}/c_${RAND}.o \
       ${COMMON}/c_timers.o ${COMMON}/c_wtime.o

include ../sys/make.common
LDLIBS=-lm
LDFLAGS=-lm


${PROGRAM}: config ${OBJS}
    ${CLINK} ${CLINKFLAGS} -o ${PROGRAM} $(LDFLAGS) $(LOADLIBES) ${OBJS} ${C_LIB}


ep.o:       ep.c npbparams.h
    ${CCOMPILE} ep.c

clean:
    - rm -f *.o *~ 
    - rm -f npbparams.h core


在您的Makefile中。

显示有效的命令(不带Make)。有效的命令-gcc lu.c-lm。我已经安装了NAS并行基准测试,要运行这些基准测试,我必须运行命令makelu–我想这回答了你的问题:基本上你需要在编译时使用makefile中的ldflags来链接数学库我添加了上面给出的代码,但我仍然有同样的问题。请帮忙。SHELL=/bin/sh BENCHMARK=ep BENCHMARKU=ep include../config/make.def OBJS=ep.o${COMMON}/c乇print乇results.o${COMMON}/c乇timer.o${COMMON}/c乇wtime.o include../sys make.COMMON LDLIBS=-lm LDFLAGS=-lm lm${PROGRAM}:config${OBJS}{CLINK}{klings}{kfllags}-o${loadjs loads}{LIBep.o:ep.c npbparams.h${CCOMPILE}ep.c clean:-rm-f*.o*~-rm-f npbparams.h core
LDLIBS=-lm