请考虑以下示例
myproj/
main.cc
test.h
main.cc simple包含test.h with
#include "myproj/test.h"
我在myproj的同一个目录中运行g ++ -MM 和 -M ,我得到了
$ g++ -MM myproj/main.cc
main.o: myproj/main.cc
$ g++ -M myproj/main.cc
main.o: myproj/main.cc /usr/include/stdc-predef.h myproj/test.h
您会看到 -MM 选项忽略标题 myproj / test.h
问题是myproj / test.h不是系统标题,为什么 -MM 选项会忽略它。
答案 0 :(得分:0)
在include中,指定相对于当前源文件的头的路径(在您的情况下为main.cc
)。你需要
#include "test.h"