小编MrK*_*Kev的帖子

Makefile 依赖,什么应该是依赖?

我有一个关于 makefile 依赖项的概念性问题,这是因为我在网上看到了关于此的不一致。

假设我有以下文件:

main.cpp         uses->     my_math.cpp and my_strings.cpp
my_math.cpp      uses->     my_math.h
my_strings.cpp   uses->     my_strings.h
Run Code Online (Sandbox Code Playgroud)

如果我有一个 makefile,一般支出为:

program: $(all_objs)
     g++ $(all_objs) -o program
main.o: ...
     .......
my_math.o: ...
     .......
my_strings.o: ...
     .......
Run Code Online (Sandbox Code Playgroud)

我不知道每个依赖项应该包含什么。比如,math.o #includes my_math.h 和 my_strings.h,这是否意味着如果我更改 my_math.h,main.cpp 需要重新编译?但为什么?它像图书馆一样使用它,对吧?它不需要重新编译 main.cpp 或者是吗?

如,main.o 的结果应该是:

1) main.o: main.cpp
         gcc -c main.cpp

2) main.o: main.cpp my_strings.cpp my_strings.h my_math.cpp my_math.h
         gcc -c main.cpp

3) main.o: main.cpp my_strings.cpp my_strings.h my_math.cpp my_math.h
         gcc -c main.cpp my_strings.cpp my_math.cpp
Run Code Online (Sandbox Code Playgroud)

我对依赖项和链接的工作方式有点迷失。

任何帮助,将不胜感激!谢谢!

c c++ makefile

2
推荐指数
1
解决办法
7187
查看次数

标签 统计

c ×1

c++ ×1

makefile ×1