linux 动态库和静态库编译链接方法

原创 2013年10月10日 22:34:16

linux 动态库 .so   注意命名必须为libXXX.so,不能随便起名字

linux静态库 .a   注意命名必须为libXXX.a,不能随便起名字


其编译方法为:

静态库:

    g++ -c 2.cpp

    ar -cr libmy2.a 2.o

    g++ -o main 1.cpp -L. -lmy2 (与动态链接方法一样)


动态库:

     g++ -fPIC -c 2.cpp

     g++  -shared –o  libmy2.so  2.o

     g++ -o  main  1.cpp -L.  -lmy2  (与静态链接方法一样)

注意运行时需设置export LD_LIBRARY_PATH=. 



linux编译与链接的知识

linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就可以运行;在这个简单的命令后面隐藏了许多复杂的过程,这个过程包括了下面的步骤 宏定义展开,所有的#def...
  • wl_fln
  • wl_fln
  • 2013年07月08日 16:28
  • 4447

linux预处理、编译、汇编、链接和运行的过程

看个简单的程序(test.c): #include int main() { printf("abc\n"); return 0; }       我们可以这样搞定编...
  • stpeace
  • stpeace
  • 2016年10月21日 08:45
  • 1491

linux编译连接选项解析

(1)动态库同名符号和visibility选项 结论: 1) 不加任何导出可见参数时,gcc编译动态库时默认导出所有的函数和全局变量(即可认为在全局变量和函数前都有__attribute__((_...
  • ccjjyy
  • ccjjyy
  • 2015年03月16日 13:39
  • 491

Linux编译的时候由于链接库出现的各种问题

Linux编译时由于库出现的问题 一 动态库与机器位数不符合 报错内容 /usr/bin/ld: skipping incompatible /usr/lib/libcrypto.so...
  • tragedy_of_life
  • tragedy_of_life
  • 2016年10月13日 17:18
  • 877

linux 下的链接文件详解

转载来自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 转载来自:(这个哥们加工了的,各种颜色,美化)ht...
  • zhjica
  • zhjica
  • 2016年11月01日 14:24
  • 1813

老生常谈--关于Linux下编译和使用动态链接库静态链接库

一、基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(...
  • luozirong
  • luozirong
  • 2015年01月08日 11:54
  • 2119

程序的编译、链接与装载

《程序员的自我修养-链接装载与库》是一本值得推荐的书,主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指...
  • weiyuefei
  • weiyuefei
  • 2016年07月28日 16:12
  • 1719

linux下编译动态链接库的一个小例子

最近在项目中需要编译一个库,但是对linux
  • qianchenglenger
  • qianchenglenger
  • 2014年06月19日 19:44
  • 6955

自己在linux上编译、链接、动态库和静态库的学习笔记

在平常的项目中,我们都是使用公司要求的makefile、makedebug一类的文件,因此,在编译、链接、生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改、添加一些...
  • imxiangzi
  • imxiangzi
  • 2015年05月01日 22:12
  • 724

Linux 动态链接库的编译和使用实例

以下实例的环境是amd64 + ubuntu10.10 + g++ 4.4.5测试成功,在其他配置的机器上可能有一点区别。     动态库的使用方式中有两种,第一种是类似于静态库的使用,另一种我...
  • hanghang121
  • hanghang121
  • 2015年12月31日 09:21
  • 797
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux 动态库和静态库编译链接方法
举报原因:
原因补充:

(最多只允许输入30个字)