我有3个C文件,它们全部组成一个C程序.其中一个是MPI文件,称为mpi.c,其他分别为read.c和write.c.我不知道如何在我的Makefile中包含mpi.c,到此为止(这是错误的):
all: program
program: mpi.o read.o write.o
mpicc mpi.o read.o write.o -o program // I think this line is wrong
mpi.o: mpi.c
mpicc -o mpi.o mpi.c
read.o: read.c
gcc -c read.c -o read.o
write.o: write.c
gcc -c write.c -o write.o
clean:
rm -f write.o read.o mpi.o program core *~
解决方法:
我认为这是这行:
mpicc -o mpi.o mpi.c
而且应该
mpicc -c mpi.c -o mpi.o
或简单地
mpicc -c mpi.c
照现状,它试图将mpi.c单独编译成一个名为mpi.o的程序,而mpi.o应该只是一个目标文件.