Makefile 通过g++;-----它不起作用

Makefile 通过g++;-----它不起作用,makefile,g++,openmp,Makefile,G++,Openmp,我想为我的代码使用一个makefile,它将使用openmp。我的源文件已编译并链接,没有任何错误。但当我运行它时,它只使用一个处理器,即使我通过例如export-OMP\u-NUM\u-THREADS=2来调整它们的数量 生成文件如下所示。如果有人能帮助我,我将不胜感激 最好的 CPP_文件:=$(通配符src/*.CPP) OBJ_文件:=$(addprefix OBJ/,$(notdir$(CPP_文件:.CPP=.o))) CC=g++ 调试=-g 英特尔=国际商会 ifeq($(no

我想为我的代码使用一个makefile,它将使用openmp。我的源文件已编译并链接,没有任何错误。但当我运行它时,它只使用一个处理器,即使我通过例如export-OMP\u-NUM\u-THREADS=2来调整它们的数量

生成文件如下所示。如果有人能帮助我,我将不胜感激

最好的

CPP_文件:=$(通配符src/*.CPP)
OBJ_文件:=$(addprefix OBJ/,$(notdir$(CPP_文件:.CPP=.o)))
CC=g++
调试=-g
英特尔=国际商会
ifeq($(notdir$(CC)),$(英特尔))
CCFLAGS=-openmp-lm-lstdc++
其他的
CCFLAGS=-fopenmp-lm-lstdc++
恩迪夫
LD_标志:=-fopenmp-Wall$(调试)
#CC_标志:=-Wall-c$(调试)
MAIN:$(对象文件)
$(CC)$(LD_标志)-o$@$^
obj/%.o:src/%.cpp
$(抄送)$(抄送标志)-c-o$@$<
.假冒:干净
清洁:

rm-f$(OBJ_文件)*.o
您定义的变量
CCFLAGS
与您在实际编译规则中使用的变量
CC_FLAGS
不匹配。当您清理并运行
make
时,编译行是否实际显示正在传递的您设置的标志?我认为他们不应该这样做,除非你这里的代码不是你正在运行的代码的直接副本


为了便于调试,您能否复制并粘贴一份显示编译和链接情况的终端记录本?

您说得对。。这是一个巨大的错误!现在,它工作得很好。。。。非常感谢您的时间和您的巨大帮助。。。