【发布时间】:2020-05-08 22:13:43
【问题描述】:
我对 Linux 编程比较陌生。
我了解 Makefile 用于在编译多个文件时简化编译过程。 不必每次需要编译和运行程序时都编写“g++ main.cpp x.cpp y.cpp -o 可执行文件”,而是可以将其放入 Makefile 并在该目录中运行 make。
我正在尝试使用 tmrh20 的库 here. 使用 nRF24L01 无线电使 RPi 和 Arduino 相互通信我已经成功地使用 tmrh20 的 Makefile 来构建所需的可执行文件(在 RPi 上)。但是,我想使用 tmrh20 的库来构建我自己的可执行文件。
我已经观看了一些关于 Makefile 的教程视频,但似乎仍然无法将 tmrh20 中发生的事情拼凑起来。
有问题的 Makefile (1) 是 here. 我相信它以某种方式引用了第二个 Makefile (2)(用于文件名?)here.(为什么这是必要的?)
如果它帮助任何人理解(我花了一段时间)我必须使用 SPIDEV(指令here)构建 RF24 目录中的 Makefile (3),它生成了几个我认为与 Makefile 相关的目标文件( 1)&(2)。
我如何从 tmrh20 的 Makefile 中找出我需要哪些文件来制作我自己的 Makefile(如果这有意义的话?)他似乎在他的 Makefile 中使用了未定义的变量?或者也许在别处定义?
为我糟糕的解释道歉。
【问题讨论】:
-
我怀疑,这个问题可能更适合 StackOverflow?
-
在我看来,这对 SO 来说太宽泛了。我没有时间弄清楚这个工具的整个构建环境,但我会说 Makefile.example (Makefile 1) 引用 Makefile (Makefile 2) 的情况并非如此。这是相反的方式。 Makefile 包含
include Makefile.examples,这就是它的作用。要了解 make 和 Makefile,您可以调查:gnu.org/software/make/manual/html_node/index.html
标签: linux raspberry-pi compilation makefile g++