我该如何使用gcc工具检查头文件的语法是否正确?
-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.
g++
编译它,例如g++ -c myheader.h
。这将捕获任何语法错误。g++ -fsyntax-only -Wall -Wextra -Wno-deprecated -std=c++11 myheader.h
- wcochran