我有以下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
答案 0 :(得分:2)
你的CFLAGS:
CFLAGS=-c -Wall
告诉编译器生成.o文件(然后使用-o选项重命名),但不要链接它。并且.o文件不可执行。删除-c
选项。
答案 1 :(得分:0)
看起来你在Linux系统上并且没有program
二进制文件上的执行权限设置。
在尝试运行程序之前,请通过chmod +x program
为其授予执行权限。