【问题标题】:how to add include paths to clang globally如何在全局范围内添加包含路径到clang
【发布时间】:2020-09-07 18:37:20
【问题描述】:

我知道将包含路径添加到 clang 的一种方法:- clang++ -I <dir> a.cpp

但是有了这个,这个路径只为那个特定的文件添加,你必须在每次 lint 时都写,所以我怎样才能将一些包含路径全局添加到 clint。

【问题讨论】:

  • 您可以使用像 CMake 这样的构建系统生成器,也可以使用 Makefiles 编写自己的构建系统。这就是人们通常会做的事情。如果你觉得特别懒惰/花哨,你可以写一个 shell 脚本。
  • 嗯实际上我对此有点陌生,@AleksanderBobiński 你有关于如何使用构建系统生成器执行此操作的任何参考
  • 看看 CMake 教程。从长远来看,它将对您有所帮助。 cmake.org/cmake/help/latest/guide/tutorial/index.html

标签: c++ clang llvm-clang include-path


【解决方案1】:

还有一些environment variables Clang 查看包含路径。对于 c++,它们将是 CPATH(C 和 C++)和 CPLUS_INCLUDE_PATH(仅限 C++)(以及链接器的 LIBRARY_PATH)。因此,如果您使用 bash 或类似的东西,您可以在 shell 启动文件中添加类似这样的内容:

export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH:+${CPLUS_INCLUDE_PATH}:}<dir>"

您也可以将clang++ 别名为clang++ -I&lt;dir&gt;

【讨论】:

  • 难道我每次 linting 时还需要添加配置文件吗?如果不指定 cpp,clang++ -I&lt;dir&gt; 将无法工作。
  • @Vishnu 你是对的,它们不像我想象的那样是全局配置。您仍然可以使用 CPLUS_INCLUDE_PATH 变量,而 alias clang++='clang++ -I&lt;dir&gt;' 意味着 clang++ a.cpp 变为 clang++ -I&lt;dir&gt; a.cpp 因此您不必编写包含
猜你喜欢
  • 2016-07-04
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-23
相关资源
最近更新 更多