clang在同一目录中包含多个搜索路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clang在同一目录中包含多个搜索路径相关的知识,希望对你有一定的参考价值。
根据Clang doc的说法:
-I <目录> 将指定的目录添加到包含文件的搜索路径中。
我想知道是否有办法在一个-I命令的同一目录上添加多个搜索路径,如下所示:
-I"Dir1/SubDir/SubDir/SubDir/{IncludePath1,IncludePath2,IncludePath3}"
我的项目文件夹树(不幸的是)在一个形式中,包含路径有2个主要文件夹,每个路径包含-I选项的许多路径。这导致clang命令很长,我举一个例子:
clang (...)
-I"Dir1/SubDir/SubDir/.../SubDir/IncludePath1"
-I"Dir1/SubDir/SubDir/.../SubDir/IncludePath2"
-I"Dir1/SubDir/SubDir/.../SubDir/IncludePath3"
-I"Dir1/SubDir/SubDir/.../SubDir/(And so on...)"
-I"Dir2/SubDir/SubDir/.../SubDir/IncludePath1"
-I"Dir2/SubDir/SubDir/.../SubDir/IncludePath2"
-I"Dir2/SubDir/SubDir/.../SubDir/IncludePath3"
-I"Dir2/SubDir/SubDir/.../SubDir/(And so on...)"
所以我想知道是否有办法告诉clang用一个命令搜索多个搜索路径或者可能让它在特定目录内搜索
答案
使用选项-isysroot
和-iwithsysroot
:
clang -isysroot"Dir1/SubDir/SubDir/SubDir/" -iwithsysroot"/IncludePath1/" \
-iwithsysroot"/IncludePath2/" -iwithsysroot"/IncludePath3/"
不幸的是,这个解决方案只适用于一个主文件夹,它也使那些包括文件夹系统的文件夹,即,Clang不会显示任何警告。此外,-iwithsysroot
很长,所以你可能不会节省很多打字:)但我不知道有任何更好的方法直接通过Clang选项。虽然你总是可以编写一个shell脚本来简化工作...
注意。虽然挖掘Clang command line reference试图找到一个更好的解决方案,我遇到option -ivfsoverlay
似乎它可以解决你的问题。但是,我无法使它工作,但我仍然决定把它留在这里,也许它对你有用。
以上是关于clang在同一目录中包含多个搜索路径的主要内容,如果未能解决你的问题,请参考以下文章