为预期的 .o 文件创建 C++ 联编文件?
Creating a C++ makefile for an expected .o file?
我有两个文件,main.cpp
和 sub.h
。
sub.h
只包含这一行
int sub(int n, int *A, int *B, int *C);
和 main.cpp
是一个非常基本的程序,我们在其中接收用户输入三个 int*
、A, B, C
,然后调用 int sub(int n, int *A, int *B, int *C)
函数。但是,int sub(int n, int *A, int *B, int *C)
的实现在另一个我无权访问的文件中:sub.o
.
我将如何编写这个 Makefile?在制作 Makefile 方面,我是新手,这让我很困惑我应该如何构建这段代码,尤其是 sub.o
。我对我的依赖项是什么以及我应该如何开始编写它感到困惑。
只需包含 sub.o
作为另一个目标的依赖项。无需为它写食谱。
对于 main
目标,您可以执行以下操作:
main: main.o sub.o
g++ -o $@ $^
这利用了知道如何将 main.cpp 编译成 main.o 的内置默认规则。
如果文件丢失,Make 会抱怨它不知道如何创建它:
make: *** No rule to make target `sub.o'. Stop.
我有两个文件,main.cpp
和 sub.h
。
sub.h
只包含这一行
int sub(int n, int *A, int *B, int *C);
和 main.cpp
是一个非常基本的程序,我们在其中接收用户输入三个 int*
、A, B, C
,然后调用 int sub(int n, int *A, int *B, int *C)
函数。但是,int sub(int n, int *A, int *B, int *C)
的实现在另一个我无权访问的文件中:sub.o
.
我将如何编写这个 Makefile?在制作 Makefile 方面,我是新手,这让我很困惑我应该如何构建这段代码,尤其是 sub.o
。我对我的依赖项是什么以及我应该如何开始编写它感到困惑。
只需包含 sub.o
作为另一个目标的依赖项。无需为它写食谱。
对于 main
目标,您可以执行以下操作:
main: main.o sub.o
g++ -o $@ $^
这利用了知道如何将 main.cpp 编译成 main.o 的内置默认规则。
如果文件丢失,Make 会抱怨它不知道如何创建它:
make: *** No rule to make target `sub.o'. Stop.