军事研究员 2024-09-11 02:18 采纳率: 92.8%
浏览 33

Makefile: 编译报错: error: invalid suffix on literal

Makefile: 编译报错: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]

img

project/../XXXX/XXXX/XXX/XXXX/include/debug/Debug.h:72:45: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
   72 |   debug_msg("<<FILE:"BLUE"%s"NONE" LINE:"RED"%d"NONE" FUNC:"GREEN"%s"NONE">>", \


报错:warning: invalid suffix on literal; C++11 requires a space between literal and string macro


img

  • 写回答

1条回答 默认 最新

  • 伏羲栈 Java领域新星创作者 2024-09-11 02:20
    关注

    错误解释:

    这个错误通常出现在C++代码中,当你使用C++11或更高标准时,如果在数字字面量和它的后缀之间没有空格,就会出现这个错误。在C++中,数字字面量的后面通常需要跟一个空格或者一个标识符结束。例如,当你写一个数字后跟一个L(代表long类型)时,它们之间必须有空格。

    解决方法:

    检查你的Makefile中指定的编译器选项是否正确,确保它们兼容C++11或更高标准。

    然后,检查代码中的数字字面量。找到所有可能的数字后缀(如L、ul、ULL等),确保在数字和后缀之间有一个空格。例如,将1000L改为1000 L。

    如果你确定代码和Makefile都是正确的,但错误依然存在,可能是编译器的问题。尝试更新你的编译器到最新版本,或者检查编译器的相关设置,确保它们配置正确以支持C++11标准。

    评论 编辑记录
    编辑
    预览

    报告相同问题?

    问题事件

    • 修改了问题 9月18日
    • 修改了问题 9月11日
    • 创建了问题 9月11日
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部