bazel-編譯靜態庫

demo3 使用bazel編譯靜態庫git

demo3目錄樹

├── README.md
├── static
│ ├── BUILD
│ ├── static.c
│ └── static.h
└── WORKSPACEgithub

BUILD

cc_library(
    name = "static",
    srcs = ["static.c","static.h"],
    linkstatic = True,
)

本例中,包名即目錄名static,cc_library規則的name也爲static即目標名,因此在當前根目錄下執行bazel build //static:staticbash

bazel自動加上lib 和 .a,最終生成liibstatic.a函數

https://github.com/suonikeyinsuxiao/trunk/blob/master/bazel_zoo/project/demo3/Selection_071.png

https://github.com/suonikeyinsuxiao/trunk/blob/master/bazel_zoo/project/demo3/Selection_070.png

再簡單的驗證一下靜態庫是否有效ui

vi main.ccode

調用print_static函數it

gcc test.c libstatic.a -o a.out 編譯獲得a.out(會有編譯警告,由於沒有包含頭文件)io

執行a.out,便可看到打印"I'm static"編譯

相關文章
相關標籤/搜索