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


再简单的验证一下静态库是否有效
vi main.c
调用print_static函数
gcc test.c libstatic.a -o a.out 编译得到a.out(会有编译警告,因为没有包含头文件)
执行a.out,即可看到打印"I'm static"
bazel-编译静态库的更多相关文章
- 【iOS】编译静态库
与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图s ...
- 关于使用Visual编译静态库动态库及其使用的问题
本文主要讲述了如何使用Visual Studio 2013 编译静态库和动态库,并使用. 一.静态库 1. 编写静态库 若要创建将引用并使用刚创建的静态库的应用程序,请从“文件”菜单中选择“新建”, ...
- android ndk-build 编译静态库libxx.a 以及Android studio openssl 静态库配置(cmake)
android ndk-build 编译静态库libxx.a 需求场景: 目前有安卓编码好的现在的openssl的两个.a,我们需要调用openssl的函数,并把功能再封装成.a; 这样使用时,在an ...
- 【转】TI DSP C6657学习之——编译静态库.lib
熟悉C++开发的的小伙伴都知道,我们一般代码中往往要引入许多第三方编译好的库,有些是静态链接库static library, 有些是动态链接库dll.引入库的目的一是减少代码的编译时间,二是只提供函数 ...
- Makefile 编译静态库文件及链接静态库
本文为原创文章,转载需指明该文链接 1.代码目录结构如下: comm/ comm/inc/apue.h 3 atexit.c Makefile 5 staticlib/lib/ staticlib ...
- opencv编译静态库时选择MD模式无效的原因
在Cmake-gui上看到的明明是MD运行库依赖,生成MS项目时却变成了MT运行库依赖. 原因在于编译静态库时内部做了自动替换.
- 编译静态库的方式使用spdlog和fmt
前言 spdlog++库,而且支持header only方式,但header only的使用方式会造成编译时长增加,所以这里简单描述一下,其编译静态库的方式. 又因为spdlog还依赖另一个开源库fm ...
- Xcode 之自己编译静态库
今天介绍下,如何利用Xcode,新建一个静态库,以及如何编译成i386.armv7.armv7s 等平台架构. 开发环境:MAC OS X 10.9.4 + Xcode 5.0.2 背景知识:库分两种 ...
- windows openssl-1.1.1 编译静态库和动态库
一下为windows上安装过程 1.下载 openssl-1.1.0.tar.gz 2.安装 ActivePerl, 可以到http://www.activestate.com/activeperl/ ...
- Linux编译静态库与共享库
静态库: cc -c mod1.c mod2.c //编译 ar r libdemo.a mod1.o mod2.o //生成静态库 cc -c prog.c //编 ...
随机推荐
- php之快速入门学习-18(PHP 面向对象)
PHP 面向对象 在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象. 在现实 ...
- C语言的角落——C之很常使用特性(一)
本文搜集整理了一些之前博客中没有提到的,C语言不经常使用的特性,算是对C系列的最后一次补充. 对C语言有兴趣的朋友能够浏览一下,查漏补缺. 变长參数列表 <stdarg.h> 头文件定义了 ...
- PHPCMS详细文件目录结构
PHPCMS详细文件目录结构 根目录 | – api 接口文件目录 | – caches 缓存文件目录 | – configs 系统配置文件目录 | – caches_* 系统缓存目录 ...
- ecipse theme
市场里搜“jeeeyul's Eclipse Themes”
- exception PLS-00103: Encountered the symbol "(" when expecting one of the following:
exception PLS-00103: Encountered the symbol "(" when expecting one of the following: Cre ...
- JAVA中定义常量的几种方式
1.最古老的 //未处理 public static final Integer PROCESS_STATUS_UNTREATED = 0; //已接收 public static final Int ...
- div 模糊效果
-webkit-filter:blur(3px); -moz-filter:blur(3px); filter:url(blur.svg#blur); filter: progid:DXImageTr ...
- 【TP3.2】模块化设计,新建Admin模块
1.模块化: Application 默认应用目录(可以设置) ├─Common 公共模块(不能直接访问) ├─Home 前台模块 ├─Admin 后台模块 ├─... 其他更多模块 ├─Runtim ...
- 深入PHP内核之参数
1.看一下一个扩展中的简单代码 ZEND_BEGIN_ARG_INFO(params_add_arginfo, 0) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) Z ...
- hdu4135容斥原理 组合遍历
容斥原理实现的关键在于:组合遍历,即如何遍历2^n种组合. 容斥原理的三种写法: DFS 队列数组 位数组 #include<stdio.h> #include<iostream&g ...