军事研究员 2024-09-11 10:18 采纳率: 97%
浏览 2

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 10: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日

悬赏问题

  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送
  • ¥15 SQLite 出现“Database is locked” 如何解决?