由于许可错误,C ++编译器输出未运行

时间:2018-02-19 22:08:08

标签: c++ makefile

我有以下make文件:

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

我之前在另一台计算机上使用过这样的makefile,但之前从未遇到过这个问题。

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

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

2 个答案:

答案 0 :(得分:2)

你的CFLAGS:

   CFLAGS=-c -Wall

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

答案 1 :(得分:0)

看起来你在Linux系统上并且没有program二进制文件上的执行权限设置。

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