为什么只有当调用的文件位于工作目录中时,某些命令才能正确执行

为什么只有当调用的文件位于工作目录中时,某些命令才能正确执行

执行以下命令时无法成功创建文件

make /home/me/Desktop/folderWithMakefile

但是当我执行以下操作时会创建一个可执行文件

cd /home/me/Desktop/folderWithMakefile
/home/me/Desktop/folderWithMakefile 
make

答案1

make命令默认在当前目录中查找Makefile。要使列出的第一个命令起作用,您需要Makefile在当前目录中包含/home/me/Desktop/folderWithMakefile目标。

如果希望make在不同目录的上下文中运行(从而选择不同的Makefile),可以使用该-C选项。例如:

make -C /home/me/Desktop/folderWithMakefile [target]

答案2

Makefile 包含相对路径,即相对于当前目录的路径。当您不在代码文件所在的目录中时,命令将找不到所需的文件...

答案3

给予 make 的参数不是要使用的目录而是应该构建的 make-target。

答案4

使用make -C /home/me/Desktop/folderWithMakefile

相关内容