二进制探针

定位项目外的可执行文件。 更多信息...

继承

PathProbe

详细信息

查找具有指定文件名的可执行文件。

二进制探针在由 PATH 环境变量指定的目录中搜索可执行文件。

注意:在 Unix 上,默认情况下还会在 /usr/bin/usr/local/bin 目录中搜索。要更改此行为,请覆盖 PathProbe.platformSearchPaths

注意:在 Windows 上,只有具有 .com.exe.bat.cmd 扩展名的文件被视为 可执行文件。要更改此行为,请覆盖 PathProbe.nameSuffixes

例如,可以使用二进制探针如下搜索 protobuf 编译器的可执行文件:

// Assuming module is called "myproto"
import qbs.File
import qbs.Probes

Module {
    // search for a protoc executable
    Probes.BinaryProbe {
        id: protocProbe
        names: "protoc"
    }
    property string executableFilePath: protocProbe.filePath

    validate: {
        if (!File.exists(executableFilePath))
            throw "The executable '" + executableFilePath + "' does not exist.";
    }

    // use the found executable
    Rule {
        // rule input/outputs here...

        // run executable for the module called "myproto":
        prepare: {
            var args = // initialize arguments...
            var cmd = new Command(input.myproto.executableFilePath, args);
            cmd.highlight = "codegen";
            cmd.description = "generating protobuf files for " + input.fileName;
            return [cmd];
        }
    }
}

©2023 Qt 公司有限公司。此处包含的文档贡献的版权属于其 respective 的所有者。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及相关标志是芬兰及/或全球其他国家/地区 Qt 公司的商标。所有其他商标均为其各自所有者的财产。