demo2_2  使用baze编译动态库

demo2_2目录树

├── app

│ ├── BUILD

│ ├── func.cpp

│ └── func.hpp

├── README.md

└── WORKSPACE

BUILD:

cc_binary(
name = "libfunc.so",
srcs = ["func.hpp","func.cpp"],
linkshared = True,
)

cc_binary.srcs

  1. 支持的文件类型

    • c/c++源文件:.c,.cc,.cpp,.cxx,.c++,.C
    • c/c++头文件:.h,.hh,.hpp,.hxx,.inc
    • .S
    • .a,.pic.a
    • .lo,.pic.lo
    • .so,.so.version
    • .o, .pic.o

cc_binary.linkshared

作用:编译生成动态库。需要使能linkshared属性,默认该属性是关闭状态。如果使能该属性后,binary的name属性必须要要命名成lib*.so。使能这个属性相当于gcc -shared。

bazel-编译动态库的更多相关文章

  1. ndk学习8: 编译动态库

    目录: 手工编译动态库 ndk-build编译动态库(Eclipse环境)   手工编译静态库 老规矩还是先手工操作,知其然并知其所以然   需要用到的核心命令: gcc -g -c -fpic -W ...

  2. Linux gcc编译(动态库,静态库)

    1. linux 库路径: /lib , /usr/lib , /usr/local/lib 2.linux 编译静态库 a.编写源文件vi pr1.c void print1(){    print ...

  3. gcc 动态编译 动态库路径

    gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令优点:体积小,编译快缺点:依赖性高 代码如下: [root@74-82-173-21 ...

  4. Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'

    编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...

  5. netsnmp编译动态库

    .编译动态库 将写完的snmp代理程序编译生成动态库 gcc -c -fpic telnetConfig.c -o telnetConfig.o -I/usr/local/net-snmp/inclu ...

  6. Linux环境编译动态库和静态库总结

    对Linux环境动态库和静态库的一些基础知识做一些总结, 首先总结静态库的编译步骤. 1 先基于.cpp或者.c文件生成对应的.o文件 2将几个.o文件 使用ar -cr命令 生成libname.a文 ...

  7. gcc 编译动态库和静态库

    Linux C 编程入门之一:gcc 编译动态库和静态库 cheungmine 2012 参考: C程序编译过程浅析 http://blog.csdn.net/koudaidai/article/de ...

  8. 【VS工程设置】 编译动态库,命令行添加参数,不使用预编译头,指定该项目链接 哪种 运行库

    编译动态库 注意: 动态库: [目标文件扩展] => .dll + [配置类型] => 动态库(.dll) 静态库: [目标文件扩展] => .lib + [ 配置类型]=> ...

  9. gflags 编译动态库

    gflags 编译动态库 这里涉及到gflags的安装,原来使用 sudo apt-get install libgflags-dev 但是后面有人在环境中下载安装了libgflags的安装包,解压后 ...

  10. android studio 2.3 编译动态库

    工作需要编译android下的动态库,本以为是一件简单的事,没想到因为工具,以及google本身被墙的原因,折腾了好久. 在windows外的平台搞事情,寿命都得缩短. 一种方案是用eclipse+n ...

随机推荐

  1. jdbc第二天

    事务 l 连接池 l ThreadLocal l BaseServlet自定义Servlet父类(只要求会用,不要求会写) l DBUtils à commons-dbutils 事务 l 事务的四大 ...

  2. Ubuntu中iptables的使用

    (一) 设置开机启动iptables# sysv-rc-conf --level 2345 iptables on (二) iptables的基本命令 1. 列出当前iptables的策略和规则# i ...

  3. 【BIEE】清除缓存

    清除缓存步骤: 1.管理→管理会话→关闭所有游标 2.管理→发出SQL语句:CALL SAPURGEALLCACHE(); 点击发送SQL语句后

  4. Redis学习(2)-redis安装

    安装redis需要先从官网下载的源码进行编译,编译依赖GCC环境,如果没有GCC环境,需要安装GCC. yum install gcc-c++ 步骤1:上传 将Windows下下载的压缩文件上传Lin ...

  5. 图文例解C++类的多重继承与虚拟继承

    文章导读:C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承. 在过去的学习中,我们始终接触的单个类的继承,但是在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个 ...

  6. Linux安装Nginx1.7.4、php5.5.15和配置

    Nginx是一个轻量级的高性能Webserver.反向代理server.邮件(IMAP/POP3/SMTP)server,是Igor Sysoev为俄罗斯訪问量第二的Rambler.ru网站开发,第一 ...

  7. 微信小程序的POST和GET请求方式的header区别

    1.post请求: wx.request({ url: 'https://m.***.com/index.php/Home/Xiaoxxf/make_order', header: { "C ...

  8. struts2 中请求转发与请求重定向方法

    本文转自:http://blog.csdn.net/a327736051/article/details/50240491 一.Chain Result:这个result调用另外的一个action,连 ...

  9. 【LeetCode】149. Max Points on a Line

    Max Points on a Line Given n points on a 2D plane, find the maximum number of points that lie on the ...

  10. eclipse的tasks使用说明

    http://blog.csdn.net/limb99/article/details/8881891tasks可以在代码里增加标识,通过tasks view可以快速的找到这些标识的地方,有助于提高开 ...