use*_*351 4 c linux makefile mpi
我有 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 *~
Run Code Online (Sandbox Code Playgroud)
我认为是这一行:
mpicc -o mpi.o mpi.c
Run Code Online (Sandbox Code Playgroud)
它应该是
mpicc -c mpi.c -o mpi.o
Run Code Online (Sandbox Code Playgroud)
或者干脆
mpicc -c mpi.c
Run Code Online (Sandbox Code Playgroud)
它的立场是,它试图将 mpi.c 单独编译成一个名为 mpi.o 的程序,而 mpi.o 应该只是一个目标文件。