我试图通过编程方式在 Linux 上找到 #include
路径,据我所知,这实际上意味着找到 GCC 所认为的 #include
路径。(这是真的吗?Clang 是怎么做到的?)
根据 http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html,一些组件涉及 CPU 架构和 GCC 版本; 后者似乎特别棘手; 我认为它可以通过运行 gcc --version
和解析输出(或 gcc -v
)来获得,但是这看起来最好的情况下是不优雅的,最坏的情况下是脆弱的。假设程序是用 GCC 编译的,那么从代码中进行编译可能是另一种选择,但这需要依赖于这种假设。
推荐的方法是什么?