如何使用gcc工具检查C ++头文件是否正确?

时间:2011-03-29 16:45:04

标签: c++ gcc header

如何使用gcc工具检查头文件的语法是否正确?

4 个答案:

答案 0 :(得分:14)

<强> -fsyntax-only

完全符合您的要求:

echo 'int i;' > good.hpp
echo 'int i' > bad.hpp
g++ -fsyntax-only good.hpp
echo $?
# 0
g++ -fsyntax-only bad.hpp
# bad.hpp:1:5: error: expected initializer at end of input
# int i
#     ^
echo $?
# 1
g++ --version | head -n1
g++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

man g++说:

-fsyntax-only
    Check the code for syntax errors, but don't do anything beyond that.

答案 1 :(得分:7)

您可以尝试使用g++进行编译,就像g++ -c myheader.h一样。这将捕获任何语法错误。

答案 2 :(得分:4)

创建一个cpp文件但包含标题并编译它;)

答案 3 :(得分:0)

我通常会确保源文件包含每个标头。例如,如果我正在开发的库只是标头,我专门编写一个简单的单元测试来包含任何独立的标头,并测试该标头中任何模板的实例化。