demo3 使用bazel編譯靜態庫
demo3目錄樹
├── README.md
├── static
│ ├── BUILD
│ ├── static.c
│ └── static.h
└── WORKSPACE
BUILD
cc_library(
name = "static",
srcs = ["static.c","static.h"],
linkstatic = True,
)
本例中,包名即目錄名static,cc_library規則的name也為static即目標名,所以在當前根目錄下執行bazel build //static:static
bazel自動加上lib 和 .a,最終生成liibstatic.a
再簡單的驗證一下靜態庫是否有效
vi main.c
調用print_static函數
gcc test.c libstatic.a -o a.out 編譯得到a.out(會有編譯警告,因為沒有包含頭文件)
執行a.out,即可看到打印"I'm static"