C++ 使用OpenMP生成文件:无法使用多个文件指定-o和-c、-S或-E
我的makefile中包含OpenMP并行计算时出现问题。我犯的错误是 无法为多个文件指定-o和-c、-S或-E 这是我的makefile:C++ 使用OpenMP生成文件:无法使用多个文件指定-o和-c、-S或-E,c++,c,openmp,C++,C,Openmp,我的makefile中包含OpenMP并行计算时出现问题。我犯的错误是 无法为多个文件指定-o和-c、-S或-E 这是我的makefile: GSLFLAGS := pkg-config --cflags gsl LIBGSL := pkg-config --libs gsl CFLAGS = -c -C -O3 -openmp=parallel lateral.o:lateral.cxx g++ -c lateral.cxx main.o:main.cxx g++
GSLFLAGS := pkg-config --cflags gsl
LIBGSL := pkg-config --libs gsl
CFLAGS = -c -C -O3 -openmp=parallel
lateral.o:lateral.cxx
g++ -c lateral.cxx
main.o:main.cxx
g++ -c main.cxx $< ${GSLFLAGS} ${CFLAGS}
alg:main.o lateral.o
g++ -o $@ $^ ${LIBGSL}
GSLFLAGS:=pkg-config--cflags-gsl
LIBGSL:=pkg config--libs gsl
CFLAGS=-c-c-O3-openmp=并行
横向.o:lateral.cxx
g++-c.cxx
main.o:main.cxx
g++-c main.cxx$<${GSLFLAGS}${CFLAGS}
alg:main.o侧向
g++-o$@$^${LIBGSL}
线路
g++ -c main.cxx $< ${GSLFLAGS} ${CFLAGS}
因为,$行
g++ -c main.cxx $< ${GSLFLAGS} ${CFLAGS}
因为,$IMO(但现在无法测试)这行代码有问题:
CFLAGS = -c -C -O3 -openmp=parallel
我认为-openmp=parallel
应该是-fopenmp
。首先是因为这是OpenMP的正确编译标志,其次是因为-o
之后的内容将被解释为输出文件的名称。正如您的错误消息所说,您不能同时使用-c
和-o
。IMO(但现在无法测试)此行有问题:
CFLAGS = -c -C -O3 -openmp=parallel
我认为-openmp=parallel
应该是-fopenmp
。首先是因为这是OpenMP的正确编译标志,其次是因为-o
之后的内容将被解释为输出文件的名称。正如您的错误消息所说,您不能同时使用-c
和-o
。您好,谢谢,但是删除$CFLAGS = -c -C -O3 -openmp=parallel
CFLAGS = -c -C -O3 -openmp=parallel