所用 C++ 编译器的相关信息。
成员
- all_files
- ar_executable
- built_in_include_directories
- 编译器
- compiler_executable
- CPU
- dynamic_runtime_lib
- gcov_executable
- ld_executable
- libc
- needs_pic_for_dynamic_libraries
- nm_executable
- objcopy_executable
- objdump_executable
- preprocessor_executable
- static_runtime_lib
- strip_executable
- sysroot
- target_gnu_system_name
- to_json
- to_proto
all_files
depset CcToolchainInfo.all_files返回所有工具链文件(以便可以将其传递给使用此工具链作为输入的操作)。
ar_executable
string CcToolchainInfo.ar_executablear 二进制文件的路径。
built_in_include_directories
list CcToolchainInfo.built_in_include_directories返回编译器的内置目录列表。
编译器
string CcToolchainInfo.compilerC++ 编译器。 可能会返回
None
。
compiler_executable
string CcToolchainInfo.compiler_executable编译器二进制文件的路径。
cpu
string CcToolchainInfo.cpuC++ 工具链的目标 CPU。 可能会返回
None
。
dynamic_runtime_lib
depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)从“dynamic_runtime_lib”属性返回文件(以便可以将这些文件传递给使用此工具链作为输入的操作)。调用方可以检查 feature_configuration 是否启用“static_link_cpp_runtimes”功能(如果不启用,则既不使用“static_runtime_lib”也不必使用“dynamic_runtime_lib”),如果静态链接模式处于活动状态,也可以使用“static_runtime_lib”。
参数
参数 | 说明 |
---|---|
feature_configuration
|
必需 要查询的功能配置。 |
gcov_executable
string CcToolchainInfo.gcov_executablegcov 二进制文件的路径。
ld_executable
string CcToolchainInfo.ld_executableld 二进制文件的路径。
libc
string CcToolchainInfo.libclibc 版本字符串。 可能会返回
None
。
needs_pic_for_dynamic_libraries
bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)如果此规则的编译应该应用 -fPIC,则返回 true,否则返回 false。确定我们是否应针对此规则的 C++ 编译应用 -fPIC,具体取决于 C++ 工具链以及是否存在“--force_pic”Bazel 选项。
参数
参数 | 说明 |
---|---|
feature_configuration
|
必需 要查询的功能配置。 |
nm_executable
string CcToolchainInfo.nm_executablenm 二进制文件的路径。
objcopy_executable
string CcToolchainInfo.objcopy_executableobjcopy 二进制文件的路径。
objdump_executable
string CcToolchainInfo.objdump_executableobjdump 二进制文件的路径。
preprocessor_executable
string CcToolchainInfo.preprocessor_executable预处理器二进制文件的路径。
static_runtime_lib
depset CcToolchainInfo.static_runtime_lib(feature_configuration)从“static_runtime_lib”属性返回文件(以便可以将这些文件传递给使用此工具链作为输入的操作)。调用方应检查 feature_configuration 是否启用“static_link_cpp_runtimes”功能(如果不启用,则不应使用“static_runtime_lib”和“dynamic_runtime_lib”),如果动态链接模式已启用,则使用“dynamic_runtime_lib”。
参数
参数 | 说明 |
---|---|
feature_configuration
|
必需 要查询的功能配置。 |
strip_executable
string CcToolchainInfo.strip_executable条带二进制文件的路径。
sysroot
string CcToolchainInfo.sysroot返回要使用的 sysroot。如果工具链编译器不支持不同的 sysroot,或者 sysroot 与默认 sysroot 相同,则此方法会返回
None
。
可能会返回 None
。
target_gnu_system_name
string CcToolchainInfo.target_gnu_system_nameGNU 系统名称。 可能会返回
None
。
to_json
string CcToolchainInfo.to_json()已弃用。此 API 已弃用,很快就会被移除。请勿依赖它。此选项已通过
---incompatible_struct_has_no_methods
停用。使用此标记验证您的代码与其即将移除的兼容性兼容。从结构体参数创建 JSON 字符串。仅当所有结构体元素(以递归方式)为字符串、整数、布尔值、其他结构体、这些类型的列表或包含这些类型的字符串键和值的字典时,此方法才有效。字符串中的引号和新行会进行转义。示例:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}。
已弃用:请改用 json.encode(x) 或 json.encode_ending(x),它们适用于结构体以外的值,并且不会污染结构体字段命名空间。
to_proto
string CcToolchainInfo.to_proto()已弃用。此 API 已弃用,很快就会被移除。请勿依赖它。此选项已通过
---incompatible_struct_has_no_methods
停用。使用此标记验证您的代码与其即将移除的兼容性兼容。使用结构体参数创建文本消息。仅当所有结构体元素(以递归方式)都是字符串、整数、布尔值、其他结构体、字典或这些类型的列表时,此方法才有效。字符串中的引号和新行会进行转义。结构体键按排序顺序迭代。示例:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
已弃用:请改用 proto.encode_text(x)。