<command-line>:0:3:警告:ISO C ++ 11在宏名称后需要空格

时间:2017-06-21 14:22:16

标签: c++ qt c++11 macros

我正在不同版本的Ubuntu OS(14.04和16.04 LTS)上编译qt源代码(C ++)。源代码在14.04 LTS上编译(g ++)而没有警告。但是在16.04发出以下警告&#34;&lt; command-line&gt;:0:3:警告:ISO C ++ 11在宏名称警告&#34;之后需要空格。

我想知道导致此错误的原因是什么?提前谢谢。

g ++ --version:5.4.0 20160609。

2 个答案:

答案 0 :(得分:3)

您可能有一个g++命令行,其中包含无效的-D选项。 (或者可能不止一个。)

后两个警告可以由

触发
g++ '-DFOO"unterminated' ...

(请注意=后遗失的FOO。)

由于您可能正在使用某些构建系统,可能的原因是不正确的构建配置会导致-D参数中出现未终止的引用。 (虽然报价本身也不是无意的。)

答案 1 :(得分:2)

此错误也是由定义名称中的无效字符引起的。尝试这样做时遇到了同样的错误:

g++ -Dsomedefine++=1