kjs*_*kjs 4 bash ubuntu makefile
有两个简单的.c文件add.c和hello.c.这是我的makefile-
all: add.exe hello.exe
add.exe: add.o
gcc -o add.exe add.o
hello.exe: hello.o
gcc -o hello.exe hello.o
add.o: add.c
gcc -c add.c
hello.o: hello.c
gcc -c hello.c
Run Code Online (Sandbox Code Playgroud)
在make终端上键入它显示所有这四个命令,但当我尝试使用./all它运行它说
bash: ./all: No such file or directory.
Run Code Online (Sandbox Code Playgroud)
./hello.exe或./add.exe工作正常.
当我在朋友的电脑上输入./all时,它会显示正确的输出.
你朋友的电脑正在做一些奇怪的事情,从你的问题来看,他们所做的事情并不清楚.您的电脑正常运作.
调用make all将编译所有内容,但它实际上并不会调用程序all.它只编译两个程序:hello.exe和add.exe.
所以调用./all应该失败,因为这要求运行一个all不存在的程序.
您的朋友很可能已经为自己编写了一个名为"all"的程序或脚本.您需要询问您的朋友该脚本/程序的功能以及执行方式.
编辑
要查看您的朋友已经完成了什么,请在您的朋友电脑上打开一个终端(如屏幕截图中的那个)并输入命令
ls -lh
Run Code Online (Sandbox Code Playgroud)
这将列出该目录中的所有文件.寻找一个名为"全部"的人.它可能看起来像这样(带有"全部"一词为绿色):
-rwxr----- 1 appy appy 67 Oct 23 15:05 all
Run Code Online (Sandbox Code Playgroud)
假设在那里你可以通过输入来查看它的内容
cat ./all
Run Code Online (Sandbox Code Playgroud)
要让您的朋友像朋友一样工作,请创建具有相同内容的类似文件.要使其可运行,您可能需要更改文件权限:
chmod u+x all
Run Code Online (Sandbox Code Playgroud)