路径探测器
位于项目外部的文件。 更多信息...
- 所有成员列表,包括继承成员
- 路径探测器是所有项列表的一部分。
属性
- allResults : varList
- candidateFilter : var
- candidatePaths : stringList
- environmentPaths : stringList
- fileName : string
- filePath : string
- nameFilter : script
- nameSuffixes : stringList
- names : stringList
- path : string
- pathSuffixes : stringList
- platformEnvironmentPaths : stringList
- platformSearchPaths : pathList
- searchPaths : pathList
- selectors : varList
详细描述
从指定位置查找具有指定文件名后缀的文件,例如 .exe。
路径探测器接受搜索文件路径和文件名模式的列表作为输入。路径由 environmentPaths、searchPaths、platformEnvironmentPaths 和 platformSearchPaths 属性指定;路径按列表顺序搜索。文件名模式由 names 和 nameSuffixes 属性指定。返回第一个匹配文件名模式的文件。如果没有找到此类文件,则将 probe.found 属性设置为 false
。
例如,可以使用以下方式使用简单的路径探测器搜索 stdio.h 头文件
Product { Depends { name: "cpp" } PathProbe { id: probe pathSuffixes: ["include"] names: ["stdio.h"] } cpp.includePaths: probe.found ? [probe.path] : [] }
属性文档
allResults : varList |
candidateFilter : var |
此属性持有一个函数,可以用来过滤掉不合格的候选人。例如,在搜索库时,可能需要检查其体系结构
PathProbe { pathSuffixes: [".so", ".dll", ".dylib"] candidateFilter: { function getLibraryArchitecture(file) { ... } return function(file) { return Utilities.isSharedLibrary(file) && getLibraryArchitecture(file) == qbs.architecture; } } }
candidatePaths : stringList |
本属性包含在找到文件之前检查的所有路径的结果列表(包括文件名)。
即使探测没有找到任何东西,也会设置此属性,并提供有关出错提示的用户。
Module { Probes.BinaryProbe { id: pythonProbe names: "python" } validate: { if (!pythonProbe.found) { throw ModUtils.ModuleError( "Could not find python binary at any of the following locations:\n\t" + pythonProbe.candidatePaths.join("\n\t")); } } }
默认值:未定义
environmentPaths : stringList |
包含文件的搜索路径的环境变量的列表。环境变量中的路径应使用FileInfo.pathListSeparator()进行分隔。
默认值:未定义
fileName : string |
包含找到的文件名(不包括路径)。
默认值:未定义
filePath : string |
包含找到的文件的完整路径,包括文件名。
默认值:未定义
nameFilter : script |
在预先添加文件后缀之前,对于每个文件名执行该脚本。可用于转换文件名。
nameSuffixes : stringList |
要搜索的文件后缀的列表。这些后缀将附加到通过names属性传递的每个文件名上。
默认值:未定义
names : stringList |
要搜索的文件名列表。
默认值:未定义
path : string |
包含找到的文件所在完整路径(即文件目录)。
默认值:未定义
pathSuffixes : stringList |
要附加到PathProbe搜索文件路径的相对路径列表。也就是说,文件应位于使用此属性传递的子文件夹之一中。
默认值:未定义
platformEnvironmentPaths : stringList |
包含要搜索文件路径的平台环境变量的列表。环境变量中的路径应使用FileInfo.pathListSeparator()进行分隔。
默认值:未定义
platformSearchPaths : pathList |
要搜索文件的平台路径列表。
默认值:在Unix主机上['/usr', '/usr/local']
,否则为空
searchPaths : pathList |
要搜索文件的路径列表。
默认值:未定义
selectors : varList |
应使用此属性来搜索多个文件。它包含一个选择器的列表,每个选择器都描述要搜索的单个文件。选择器可以是字符串、字符串列表或字典。
以下示例搜索三个文件,并说明了指定选择器的不同方法
selectors: [ // 1st file with a single name "header.h", // 2nd file with possible name variants ["config.h", "foo-config.h", "bar-config.h"], // 3rd file with possible name and suffix variants {names: ["footk", "footk-version"], nameSuffixes: [".h", ".hpp"]} ]
©2023 The Qt Company Ltd. 保留文档所包含的贡献的所有版权。本提供的文档根据Free Software Foundation发布的GNU自由文档许可协议版本1.3许可。Qt及其相关标志是芬兰的The Qt Company Ltd及/或世界其他国家的商标。所有其他商标均为其各自主人的财产。