Makefile:2:***缺少分隔符.停止

 君君6789_903 发布于 2023-01-12 17:19

我有即两个.cpp文件decryptor.cppprod-ent.cpp.
我已经创建了一个Makefile来编译Linux平台中的两个文件.

all: decryptor.cpp prod-ent.cpp
       g++ prod-ent.cpp -o prod-ent -g
       g++ decryptor.cpp -o decryptor -g -lcryptopp
clean:
       rm prod-ent
       rm decryptor

每当我尝试执行Makefile时,它会向我显示以下错误:

Makefile:2:*缺少分隔符.停止.

我是新来创建makefile并且无法弄清楚我的错.请帮我纠正代码.

提前致谢 !!

1 个回答
  • 你需要一个真正的标签而不是前面的空格g++rm命令.如果仍然失败,则编辑器会插入空格,即使您正在按键盘上的Tab键.您需要将编辑器配置为插入硬标签(以ASCII格式表示).

    喜欢

    all: decryptor.cpp prod-ent.cpp
    *****g++ prod-ent.cpp -o prod-ent -g
    *****g++ decryptor.cpp -o decryptor -g -lcryptopp
    clean:
    *****rm prod-ent
    *****rm decryptor
    

    而是*****替换TAB.

    您可以按命令检查您的身边

    cat -e -t -v  makefile
    

    它的显示行以^Iif 开头TAB给出该行并以行结束$.

    你也可以做 ;

    all: decryptor.cpp prod-ent.cpp ; g++ prod-ent.cpp -o prod-ent -g ; g++ decryptor.cpp -o decryptor -g -lcryptopp
    clean: ; rm prod-ent ; rm decryptor
    

    2023-01-12 17:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有