我正在不同版本的Ubuntu OS(14.04和16.04 LTS)上编译qt源代码(C ++)。源代码在14.04 LTS上编译(g ++)而没有警告。但是在16.04发出以下警告"< command-line>:0:3:警告:ISO C ++ 11在宏名称警告"之后需要空格。
我想知道导致此错误的原因是什么?提前谢谢。
g ++ --version:5.4.0 20160609。
答案 0 :(得分:3)
您可能有一个g++
命令行,其中包含无效的-D
选项。 (或者可能不止一个。)
后两个警告可以由
触发g++ '-DFOO"unterminated' ...
(请注意=
后遗失的FOO
。)
由于您可能正在使用某些构建系统,可能的原因是不正确的构建配置会导致-D
参数中出现未终止的引用。 (虽然报价本身也不是无意的。)
答案 1 :(得分:2)
此错误也是由定义名称中的无效字符引起的。尝试这样做时遇到了同样的错误:
g++ -Dsomedefine++=1