我想运行预处理器并使用以下命令生成.i文件 (我基于http://jkorpela.fi/html/cpre.html):
gcc -Irange/v3/action -x c -P -C -E range/v3/action.hpp
但是我有错误:
range / v3 / action.hpp:17:10:致命错误:range / v3 / action / action.hpp:没有此类文件或目录
#include <range/v3/action/action.hpp>
从包含目录调用该命令。目录树如下所示:
-include
-range
-v3
-action.hpp (file)
-action (directory)
-action.hpp
我尝试用其他选项替换-I标志,例如-Irange / **,但是它也无法正常工作。
感谢您的解决方案或建议。
答案 0 :(得分:2)
在#include
中指定的路径被附加到-I
中的目录中。因此,它正在寻找range/v3/action/range/v3/action/action.hpp
。这是在复制目录路径,因为您在-I
和#include
中都有它。
使用-I.
从当前目录开始搜索,或使用#include <action.hpp>
仅在-I
目录中搜索文件名。