C 编译器输出由于Permisson误差而未运行

C++ compiler output is not running due to permisson error

本文关键字:误差 运行 Permisson 编译器 输出      更新时间:2023-10-16

我有以下制作文件:

CC=g++
CFLAGS=-c -Wall
1: 
    $(CC) $(CFLAGS) 03_datatypes.cpp -o program
    ./program

,如您所见,我正在尝试在编译后运行program文件。我收到以下错误:

 make: execvp: ./program: Permission denied
 makefile:7: recipe for target '1' failed
 make: *** [1] Error 127

我以前在其他计算机上使用过这样的makefiles,但以前从未遇到过此问题。

如下某人建议:我尝试使用chmod +x program,但我遇到了不同的错误

 bash: ./program: cannot execute binary file: Exec format error 

您的cflags:

   CFLAGS=-c -Wall

告诉编译器生成一个.o文件(然后您使用-O选项重命名(,但不要链接它。和.o文件不可执行。删除-c选项。

看起来您在Linux系统上,并且在program二进制中没有执行权限。

尝试运行程序之前,请通过chmod +x program授予其执行权限。