如何确定哪个Makefile针对给定文件
How to determine which Makefile is targeting a given file?
我正在修改一个共享库。我将一个目录的内容复制到一个新的同级目录,并对整个库运行Make。然而,我收到以下错误:
Make: *** No rule to make target /opt/orchestra/tests/ToolsNew/Makefile’, needed by ‘Makefile’. Stop.
为什么一个目录的副本可以做的很好却不能做呢?
有点困惑,你正在寻找::
的答案如何确定哪个Makefile是针对给定的文件?或为什么一个可以制作的目录的副本不能制作呢?
第一个问:这似乎是新的副本,但如果你仍然有疑问....
检查在哪里启动命令....如果没有指定文件名,那么默认情况下,make将查找当前目录中的描述符——即命令运行的位置…
或
如果在同一目录中有两个或更多相似的makefile,则不确定使用了哪个例如:makefile和makefile,那么你可以检查. makefile_list——它包含了make通常解析的每个makefile的名称,所以在那里你得到了名称和它们被查找的顺序。
检查的方法::
Make -p
(注意:-p选项会列出make ....的所有设置该文件将是一个(但很长)
这将帮助您找到正在使用的描述符makefile。
第二个Q:
从我们的编辑看来,真正的问题是:不能粘贴Makefile,因为它位于一个虚拟机,我现在没有访问权限。- RouteMapper 16 hours ago
我会检查代码......Call可以是......
cd $(proj_dir) && $(MAKE) ;
如果你在这里使用旧的$(proj_dir)值ie/opt/orchestra/tests/Tools,即使你不能复制旧的Makefile,你也可以使用它,在运行期间它将使用当前的环境设置......我认为它应该有效!!
希望这有帮助!!如果您还需要什么,请告诉我。
原因可以在输出中找到。注意它是如何抱怨文件/opt/orchestra/tests/ToolsNew/Makefile
的?基本上,该警告是告诉您文件丢失了,并且您没有定义Make规则来生成新的副本。
你应该验证这个文件是否存在,我敢打赌它不存在。
- 使用 Makefile 中的头文件编译 Pybind (不使用 cmake)
- Arduino-Makefile:编译器无法编译用户库 cpp 文件
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 如何在makefile中包含tensorflow c ++".so"文件?
- 有没有办法从Makefile访问VS Code c_cpp_properties.json文件中的定义
- 在Windows上运行Linux Makefile(.so文件)
- 为简单的src,include,libs文件夹项目编写Makefile
- 如何从 Makefile 中的其他目录导入所有源代码和头文件
- 使用 g++ 和 Makefile 编译 c++ 时可执行文件非常大
- Makefile在Linux中工作,但在Windows下不起作用,在子目录中找不到文件
- makefile和错误将与大型项目分开的文件编译
- 当自动编译对象文件时,如何使我的makefile使用我的cflags标志
- makefile 没有将 .o 和可执行文件放在各自的 obj 和 bin 目录中
- 如何仅重新编译makefile中更改的内容,自动查找.cpp文件?
- Arduino Makefile:如何将传感器数据保存到计算机中的文件中
- 使用GCC的C makefile - 从子文件夹列表中生成源文件列表
- 自动工具: Makefile.am:如果文件存在,则链接
- 您可以使用 makefile 从 .o 对象文件创建 C++ 文件吗?
- 多个文件Makefile编译
- 一个文件Makefile问题:C++