将自己写的链表生成共享库

 1、编译
 2、设置库名:
   库的名称格式:lib + XXX + 版本号.so (库的名称为XXX)
-shared 生成共享文件库 -fpic 动态链接

 3、把头文件和.so文件放到系统目录下

(使用共享库了,把之前的#include “list.h” 改成 #include < list.h > ,删除该文件夹内的list.* ,就可以运行成功了)
 4、链接库:gcc main.c -o main -lList

  注意:如果.h没有放在系统路径下,要使用-I路径
如果.so没有放在系统路径下,要使用-L路径

如果共享库并没有放在系统路径下,如何解决运行时找不到的问题

  1) 首先,把.h和.so移动到非系统路径下,链接生成可执行文件,运行时找不到:

  2) 解决方法1:修改共享库配置文件/etc/ld.so.conf,把.so的路径加入到配置文件中;执行:ldconfig

  解决方法2:配环境变量LD_LIBRARY_PATH
(不过,这种方法是临时的,只对当前用户本次登录有效)

也可以查看环境变量的值:$LD_LIBRARY_PATH
然后修改,LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/mnt/hgfs/share/

转载于:https://blog.51cto.com/13097817/2046748

linux下共享库的制作及常见的问题相关推荐

  1. Linux下共享库的查找顺序

    http://www.cnblogs.com/lovevivi/archive/2013/01/15/2861211.html 在接手一个很古老的程序时,发现其所使用的动态库都实在是太陈旧了,正式运行 ...

  2. linux 下共享库创建及使用

    1.创建共享库 [xpan@localhost 2.5.3]$ ls libhello.c  libhello.h  usehello.c [xpan@localhost 2.5.3]$ gcc -f ...

  3. 【Linux】Linux下静态库(.a)和动态库(.so)的制作和使用

    如有错误,欢迎大家指正,感谢! ​​​​​​​目录 一.程序工作过程简单介绍 1. 安装GCC 2. 源程序工作流程 3. 使用示例 4. gcc常用的编译参数选项 二.静态库的制作及使用 1. 库是 ...

  4. Linux中动态库(共享库)的制作与使用

    0. 库的基本概念 见博客:Linux中静态库的制作与使用 0.1 动态库的工作原理 首先回忆一下静态库,使用静态库,在GCC进行链接时,会把静态库中代码打包到可执行程序中. 但是使用动态库,在GCC ...

  5. Linux下动态库和静态库制作与调用

    Linux下动态库和静态库制作与调用 1.动态库和静态库简介   静态库是指在应用中,有一些公共代码需要反复使用,就把这些代码编译为"库"文件:在链接步骤中,连接器将从库文件取得所 ...

  6. linux下静态库、动态库总结

    一.基本概念 1.1.什么是库        在 windows 平台和 linux 平台下都大量存在着库. 本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行. 由 ...

  7. nux下共享库(SO)有关的几个环境变量 zz

    Linux支持共享库已经有悠久的历史了,不再是什么新概念了.大家都知道如何编译.连接以及动态加载(dlopen/dlsym/dlclose) 共享库.但是,可能很多人,甚至包括一些高手,对共享库相关的 ...

  8. linux 动态库建立,浅析linux下静态库和动态库的建立和使用

    在粤嵌学了很多知识,我们把常用的公用函数放在一起做成一个函数库,可以供其他程序共同使用,函数库本质上说,是一个可执行代码的二进制形式,可被操作系统载入内存执行.linux下的库分为两种:静态库,后缀名 ...

  9. Linux下动态库的创建与更新

    Linux下动态库(libname.x.y.z)的创建与更新 由于主程序和它依赖的共享库是由不同的开发者开发的.共享库的开发者会不停地更新共享库的版本,以修正bug,增加功能或改进性能.版本多了之后, ...

最新文章

  1. SVN:服务器资源删掉,本地添加时和删掉的名字同名出现One or more files are in a conflicted state....
  2. VS2013 VS2015 VS2017调试出现无法启动iis express web服务器
  3. 前端基本功—javascript 第三天
  4. linux centos7.6.1810安装nfs命令整理
  5. 阿里开源量子模拟器“太章2.0”,支持量子算法和纠错探索
  6. mobx中跟新了数据视图没变化_【第1781期】MobX 简明教程
  7. php session警告屏蔽,PHP Session的一个警告
  8. 文件系统(02):基于SpringBoot框架,管理Xml和CSV文件类型
  9. mysql自动备份工具 linux_自动备份MYSQL方法 (Linux)
  10. harmonyOS应用开发环境搭建
  11. 解锁Insyde的BIOS隐藏设置
  12. [竞品分析] 猿辅导-K12在线教育产品
  13. ActiveX是什么?界面开发有哪些好用的ActiveX控件推荐?
  14. APP测试面试题汇总基础+进阶
  15. 用python-sklearn做广州房价预测——以此为例说明如何使用python做简单的数据分析
  16. 一次简单的爬虫过程记录:静态网页小说下载
  17. 网易博客日志:COSTAS环低通滤波器设计及环路增益设计
  18. 跟同事在BOSS直聘发现了一个前端小秘密
  19. 仿京东购物界面放大镜效果
  20. 【目标监测】CenterNet原理详解

热门文章

  1. springCloud 搭建Eureka
  2. STM32CubeMX的安装
  3. solution for python can not import local module
  4. G4560 HD610安装黑苹果Hakintosh
  5. Atitit 基于dom的游戏引擎
  6. window 2008+apache2.4.4+php5.5+mysql-5.6.12+phpmyadmin4.0.4.1安装过程(参考他人文章基础上加上自己遇到的问题)...
  7. 服务:OracleDBConsoleorcl [Agent process exited abnormally during initialization]
  8. DotText研究资料整理
  9. Java中常见的排序算法代码演示
  10. vb红绿灯自动切换_VB红绿灯程序.doc