加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在makefile的帮助下编译后权限被拒绝

发布时间:2020-12-16 09:39:57 所属栏目:百科 来源:网络整理
导读:当我尝试运行我的程序时,我得到了这个: bash:./ supermarket:权限被拒绝 可执行文件显示为二进制文件,包含read向用户写入权限但没有执行权限 这是我的makefile的代码可以搞清楚是什么问题? OBJS = supermarket.o cashier.o customer.o SOURCE = supermar
当我尝试运行我的程序时,我得到了这个:
bash:./ supermarket:权限被拒绝

可执行文件显示为二进制文件,包含read&向用户写入权限但没有执行权限

这是我的makefile的代码可以搞清楚是什么问题?

OBJS    = supermarket.o cashier.o customer.o 
SOURCE  = supermarket.c cashier.c customer.c 
HEADER  = struct.h
OUT     = supermarket cashier customer
CC  = gcc
FLAGS   = -lrt -g -c 

#LIBS   = -lm
# -g option enables debugging mode 
# -c flag generates object code for separate files
# -lm math library
# -lrt semaphores

all: supermarket cashier customer

supermarket: supermarket.c
    $(CC) $(FLAGS) supermarket.c -o supermarket 

cashier: cashier.c
    $(CC) $(FLAGS) cashier.c -o cashier 

customer: customer.c
    $(CC) $(FLAGS) customer.c -o customer

# clean house
clean:
    rm -f $(OBJS) $(OUT)
# do a bit of accounting
count:
    wc $(SOURCE) $(HEADER)

解决方法

FLAGS   = -lrt -g -c

具体来说,-c标志.它会在对象阶段停止编译,因此您的超市,收银员和客户“可执行文件”实际上是没有通常扩展名的目标文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读