bazel-編譯靜態庫


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

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

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

vi main.c

調用print_static函數

gcc test.c libstatic.a -o a.out 編譯得到a.out(會有編譯警告,因為沒有包含頭文件)

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM