原始笔记只留下了几条命令,这里把它整理成一份最小回看版:先构建目标,再看依赖关系,最后补充常见编译选项。
1. 先直接构建目标
bazel build :protoc :protobuf --enable_bzlmod
这条命令适合先验证两件事:
- 当前工作区能否正常启用
bzlmod protoc和protobuf这两个目标是否能被顺利解析并构建
2. 需要看依赖关系时生成依赖图
bazel mod graph --output graph --enable_bzlmod
这一步适合快速回看模块依赖关系,尤其是在下面这些场景里比较有用:
- 怀疑某个模块版本被意外拉进来
- 想确认
bzlmod解析后的依赖结构 - 需要先理解依赖关系,再继续排查构建问题
3. 需要优化产物属性时追加编译参数
bazel build -c opt --copt '-fPIC' :protoc :protobuf --enable_bzlmod
这里保留的两个选项分别对应:
-c opt:按优化配置构建--copt '-fPIC':给编译阶段追加-fPIC
回看时要优先确认:
- 目标是否真的需要位置无关代码
- 这类
--copt是临时排查用,还是应该沉到更稳定的构建配置里
4. 最小使用顺序
如果只是快速回忆,通常按下面顺序就够了:
- 先跑基础构建,确认目标能不能过
- 再看
mod graph,理解依赖是否符合预期 - 最后按需要补
-c opt或-fPIC这类选项
FEATURED TAGS
Git
Cheat Sheet
Markdown
Tools
C++
Linker
Thread
Linux
TCP
Network
GDB
Debug
leetcode
链表
WSL
Ubuntu
Windows
Linux Kernel
GCC
Android
adb
Troubleshooting
Profiling
Sanitizer
glibc
MySQL
Database
Python
curl
Build
ELF
clang-format
CMake
Graphviz
Performance
vcpkg
Protobuf
排查
速查
内存
STL
调试
性能分析
性能
读书笔记
方法论
架构
网络
Timer
mbedTLS
TLS
安全
负载均衡
脚本
工具
LRU
二叉树
BST
中序遍历
回溯
二分查找
优先队列
排序
旋转数组
jenkins
部署